43 lines
1.4 KiB
Python
43 lines
1.4 KiB
Python
import argparse
|
|
from pathlib import Path
|
|
from ..configuration import Config
|
|
from ..chat import ChatDB
|
|
from ..message import MessageFilter, Message
|
|
|
|
|
|
msg_suffix = Message.file_suffix_write
|
|
|
|
|
|
def convert(args: argparse.Namespace, config: Config) -> None:
|
|
"""
|
|
Convert messages to a new format. Also used to change the suffix,
|
|
to the latest default message file suffix.
|
|
"""
|
|
chat = ChatDB.from_dir(Path(config.cache),
|
|
Path(config.db))
|
|
# read all known message files
|
|
msgs = chat.msg_gather(loc='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
|
|
chat.set_msg_format(args.format)
|
|
chat.msg_write(msgs)
|
|
|
|
|
|
def hist_cmd(args: argparse.Namespace, config: Config) -> None:
|
|
"""
|
|
Handler for the 'hist' command.
|
|
"""
|
|
|
|
mfilter = MessageFilter(tags_or=args.or_tags,
|
|
tags_and=args.and_tags,
|
|
tags_not=args.exclude_tags,
|
|
question_contains=args.question,
|
|
answer_contains=args.answer)
|
|
chat = ChatDB.from_dir(Path(config.cache),
|
|
Path(config.db),
|
|
mfilter=mfilter)
|
|
chat.print(args.source_code_only,
|
|
args.with_tags,
|
|
args.with_files)
|