Files
DB-GPT/dbgpt/util/config_utils.py
2023-12-18 19:30:40 +08:00

33 lines
946 B
Python

from functools import cache
from typing import Any, Dict, Optional
class AppConfig:
def __init__(self):
self.configs = {}
def set(self, key: str, value: Any) -> None:
"""Set config value by key
Args:
key (str): The key of config
value (Any): The value of config
"""
self.configs[key] = value
def get(self, key, default: Optional[Any] = None) -> Any:
"""Get config value by key
Args:
key (str): The key of config
default (Optional[Any], optional): The default value if key not found. Defaults to None.
"""
return self.configs.get(key, default)
@cache
def get_all_by_prefix(self, prefix) -> Dict[str, Any]:
"""Get all config values by prefix
Args:
prefix (str): The prefix of config
"""
return {k: v for k, v in self.configs.items() if k.startswith(prefix)}