fix: support parse secret

This commit is contained in:
arkohut 2024-09-09 22:26:26 +08:00
parent f9e2b2261b
commit 6107c22def

View File

@ -98,6 +98,21 @@ def dict_representer(dumper, data):
yaml.add_representer(OrderedDict, dict_representer)
# Custom representer for SecretStr
def secret_str_representer(dumper, data):
return dumper.represent_scalar("tag:yaml.org,2002:str", data.get_secret_value())
# Custom constructor for SecretStr
def secret_str_constructor(loader, node):
value = loader.construct_scalar(node)
return SecretStr(value)
yaml.add_representer(SecretStr, secret_str_representer)
yaml.add_constructor("tag:yaml.org,2002:str", secret_str_constructor)
def create_default_config():
config_path = Path.home() / ".memos" / "config.yaml"
if not config_path.exists():