Change type msg_location to an Enum instead of Literal to be able to get all values easy and improve type checks.
This commit is contained in:
@@ -2,7 +2,7 @@ import sys
|
||||
import argparse
|
||||
from pathlib import Path
|
||||
from ..configuration import Config
|
||||
from ..chat import ChatDB
|
||||
from ..chat import ChatDB, msg_location
|
||||
from ..message import MessageFilter, Message
|
||||
|
||||
|
||||
@@ -17,7 +17,7 @@ def convert_messages(args: argparse.Namespace, config: Config) -> None:
|
||||
chat = ChatDB.from_dir(Path(config.cache),
|
||||
Path(config.db))
|
||||
# read all known message files
|
||||
msgs = chat.msg_gather(loc='disk', glob='*.*')
|
||||
msgs = chat.msg_gather(loc=msg_location.DISK, glob='*.*')
|
||||
# make a set of all message IDs
|
||||
msg_ids = set([m.msg_id() for m in msgs])
|
||||
# set requested format and write all messages
|
||||
@@ -29,14 +29,14 @@ def convert_messages(args: argparse.Namespace, config: Config) -> None:
|
||||
m.file_path = m.file_path.with_suffix('')
|
||||
chat.msg_write(msgs)
|
||||
# read all messages with the current default suffix
|
||||
msgs = chat.msg_gather(loc='disk', glob=f'*{msg_suffix}')
|
||||
msgs = chat.msg_gather(loc=msg_location.DISK, glob=f'*{msg_suffix}')
|
||||
# make sure we converted all of the original messages
|
||||
for mid in msg_ids:
|
||||
if not any(mid == m.msg_id() for m in msgs):
|
||||
print(f"Message '{mid}' has not been found after conversion. Aborting.")
|
||||
sys.exit(1)
|
||||
# delete messages with old suffixes
|
||||
msgs = chat.msg_gather(loc='disk', glob='*.*')
|
||||
msgs = chat.msg_gather(loc=msg_location.DISK, glob='*.*')
|
||||
for m in msgs:
|
||||
if m.file_path and m.file_path.suffix != msg_suffix:
|
||||
m.rm_file()
|
||||
|
||||
@@ -3,7 +3,7 @@ import argparse
|
||||
from pathlib import Path
|
||||
from ..configuration import Config
|
||||
from ..message import Message, MessageError
|
||||
from ..chat import ChatDB
|
||||
from ..chat import ChatDB, msg_location
|
||||
|
||||
|
||||
def print_message(message: Message, args: argparse.Namespace) -> None:
|
||||
@@ -38,7 +38,7 @@ def print_cmd(args: argparse.Namespace, config: Config) -> None:
|
||||
# print latest message
|
||||
elif args.latest:
|
||||
chat = ChatDB.from_dir(Path(config.cache), Path(config.db))
|
||||
latest = chat.msg_latest(loc='disk')
|
||||
latest = chat.msg_latest(loc=msg_location.DISK)
|
||||
if not latest:
|
||||
print("No message found!")
|
||||
sys.exit(1)
|
||||
|
||||
@@ -4,7 +4,7 @@ from pathlib import Path
|
||||
from itertools import zip_longest
|
||||
from copy import deepcopy
|
||||
from ..configuration import Config
|
||||
from ..chat import ChatDB
|
||||
from ..chat import ChatDB, msg_location
|
||||
from ..message import Message, MessageFilter, MessageError, Question, source_code
|
||||
from ..ai_factory import create_ai
|
||||
from ..ai import AI, AIResponse
|
||||
@@ -202,14 +202,14 @@ def question_cmd(args: argparse.Namespace, config: Config) -> None:
|
||||
repeat_msgs: list[Message] = []
|
||||
# repeat latest message
|
||||
if len(args.repeat) == 0:
|
||||
lmessage = chat.msg_latest(loc='cache')
|
||||
lmessage = chat.msg_latest(loc=msg_location.CACHE)
|
||||
if lmessage is None:
|
||||
print("No message found to repeat!")
|
||||
sys.exit(1)
|
||||
repeat_msgs.append(lmessage)
|
||||
# repeat given message(s)
|
||||
else:
|
||||
repeat_msgs = chat.msg_find(args.repeat, loc='disk')
|
||||
repeat_msgs = chat.msg_find(args.repeat, loc=msg_location.DISK)
|
||||
repeat_messages(repeat_msgs, chat, args, config)
|
||||
# === PROCESS ===
|
||||
elif args.process is not None:
|
||||
|
||||
Reference in New Issue
Block a user