diff --git a/config/config.py b/config/config.py index 8619b2a..9a50cb9 100644 --- a/config/config.py +++ b/config/config.py @@ -1,8 +1,18 @@ -from typing import Optional +from typing import Optional, Any from dataclasses import dataclass from omegaconf import OmegaConf, DictConfig import os +from pathlib import Path +@dataclass +class OpenAI: + api_key: str + + def getattr(self, name: str): + return getattr(self, name) + + def _setattr(self, name: str, value: Any): + setattr(self, name, value) @dataclass class Zotero: @@ -10,25 +20,30 @@ class Zotero: library_id: str library_type: str - def getattr(self, name): + def getattr(self, name: str): return getattr(self, name) - def _setattr(self, name, value): + def _setattr(self, name: str, value: Any): setattr(self, name, value) @dataclass class Database: name: str - path: str - temp: str + path: str | Path + temp: str | Path - def getattr(self, name): + def getattr(self, name: str): return getattr(self, name) - def _setattr(self, name, value): + def _setattr(self, name: str, value: Any): setattr(self, name, value) + def __post_init__(self): + if isinstance(self.path, str): + self.path = Path(self.path) + if isinstance(self.temp, str): + self.temp = Path(self.temp) @dataclass class Mail: @@ -59,13 +74,13 @@ class Mail: