From f371a6146e00b41a1eb005f94da0842a1772f8ff Mon Sep 17 00:00:00 2001 From: juk0de Date: Sat, 12 Aug 2023 13:55:39 +0200 Subject: [PATCH] moved 'read_config' to storage.py and added 'write_config' --- chatmastermind/main.py | 8 +------- chatmastermind/storage.py | 11 +++++++++++ 2 files changed, 12 insertions(+), 7 deletions(-) diff --git a/chatmastermind/main.py b/chatmastermind/main.py index 3150931..0486ae6 100755 --- a/chatmastermind/main.py +++ b/chatmastermind/main.py @@ -8,7 +8,7 @@ import argcomplete import argparse import pathlib from .utils import terminal_width, print_tag_args, print_chat_hist, display_source_code, print_tags_frequency, ConfigType -from .storage import save_answers, create_chat_hist, get_tags, get_tags_unique, read_file, dump_data +from .storage import save_answers, create_chat_hist, get_tags, get_tags_unique, read_file, read_config, dump_data from .api_client import ai, openai_api_key, print_models from itertools import zip_longest @@ -21,12 +21,6 @@ def tags_completer(prefix, parsed_args, **kwargs): return get_tags_unique(config, prefix) -def read_config(path: str) -> ConfigType: - with open(path, 'r') as f: - config = yaml.load(f, Loader=yaml.FullLoader) - return config - - def create_question_with_hist(args: argparse.Namespace, config: ConfigType, ) -> tuple[list[dict[str, str]], str, list[str]]: diff --git a/chatmastermind/storage.py b/chatmastermind/storage.py index afd1e8d..d90598b 100644 --- a/chatmastermind/storage.py +++ b/chatmastermind/storage.py @@ -22,6 +22,17 @@ def read_file(fname: pathlib.Path, tags_only: bool = False) -> Dict[str, Any]: "file": fname.name} +def read_config(path: str) -> ConfigType: + with open(path, 'r') as f: + config = yaml.load(f, Loader=yaml.FullLoader) + return config + + +def write_config(path: str, config: ConfigType) -> None: + with open(path, 'w') as f: + yaml.dump(config, f) + + def dump_data(data: Dict[str, Any]) -> str: with io.StringIO() as fd: fd.write(f'TAGS: {" ".join(data["tags"])}\n')