工作空间的配置预设,提供ConfigBasic建造方法产生实例。

该类的实例对象用于存储工作空间的配置信息,如工作空间的路径等
    工作空间的配置信息存储在用户的家目录下的.config/chatchat/workspace/workspace_config.json文件中。
    注意:不存在则读取默认
This commit is contained in:
glide-the 2024-06-09 19:56:02 +08:00
parent 1ebd1aa8cc
commit 8e143885ad
4 changed files with 61 additions and 0 deletions

View File

@ -0,0 +1,48 @@
from chatchat.configs import config_workspace as workspace
def main():
import argparse
parser = argparse.ArgumentParser(description="chatchat工作空间配置")
# 只能选择true或false
parser.add_argument(
"-v",
"--verbose",
default="false",
choices=["true", "false"],
help="是否开启详细日志"
)
parser.add_argument(
"-d",
"--data",
help="数据存放路径"
)
parser.add_argument(
"-f",
"--format",
help="日志格式"
)
parser.add_argument(
"--clear",
action="store_true",
help="清除配置"
)
args = parser.parse_args()
if args.verbose:
if args.verbose.lower() == "true":
workspace.set_log_verbose(True)
else:
workspace.set_log_verbose(False)
if args.data:
workspace.set_data_path(args.data)
if args.format:
workspace.set_log_format(args.format)
if args.clear:
workspace.clear()
print(workspace.get_config())
if __name__ == "__main__":
main()

View File

@ -120,6 +120,12 @@ def _import_ConfigWorkSpace() -> Any:
return ConfigWorkSpace
def _import_config_workspace() -> Any:
basic_config_load = CONFIG_IMPORTS.get("_basic_config.py")
load_mod = basic_config_load.get("load_mod")
config_workspace = load_mod(basic_config_load.get("module"), "config_workspace")
return config_workspace
def _import_log_verbose() -> Any:
basic_config_load = CONFIG_IMPORTS.get("_basic_config.py")
load_mod = basic_config_load.get("load_mod")
@ -513,6 +519,8 @@ def __getattr__(name: str) -> Any:
return _import_ConfigBasicFactory()
elif name == "ConfigWorkSpace":
return _import_ConfigWorkSpace()
elif name == "config_workspace":
return _import_config_workspace()
elif name == "log_verbose":
return _import_log_verbose()
elif name == "CHATCHAT_ROOT":
@ -613,6 +621,7 @@ VERSION = "v0.3.0-preview"
__all__ = [
"VERSION",
"config_workspace",
"log_verbose",
"CHATCHAT_ROOT",
"DATA_PATH",

View File

@ -26,6 +26,9 @@ class ConfigBasic:
BASE_TEMP_DIR: str
"""临时文件目录,主要用于文件对话"""
def __str__(self):
return f"ConfigBasic(log_verbose={self.log_verbose}, CHATCHAT_ROOT={self.CHATCHAT_ROOT}, DATA_PATH={self.DATA_PATH}, IMG_DIR={self.IMG_DIR}, NLTK_DATA_PATH={self.NLTK_DATA_PATH}, LOG_FORMAT={self.LOG_FORMAT}, LOG_PATH={self.LOG_PATH}, MEDIA_PATH={self.MEDIA_PATH}, BASE_TEMP_DIR={self.BASE_TEMP_DIR})"
class ConfigBasicFactory:
"""Basic config for ChatChat """

View File

@ -11,6 +11,7 @@ packages = [
[tool.poetry.scripts]
chatchat = 'chatchat.startup:main'
chatchat-kb = 'chatchat.init_database:main'
chatchat-config = 'chatchat.config_work_space:main'
[tool.poetry.dependencies]
python = ">=3.8.1,<3.12,!=3.9.7"