| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465 |
- import pathlib
- from .config import config
- from .exception import config_exception
- class app_config(config):
- def __defaults() -> dict:
- return {
- "database_uri": "sqlite:///database.db",
- "users_file": "users.json",
- "covers_dir": "covers/",
- "thumbnails_dimension": "400",
- "google_api_key": "",
- "google_cx": ""
- }
- def __init__(self):
- super().__init__(app_config.__defaults())
- @property
- def google_api_key(self) -> str | None:
- api_key = self._get("google_api_key")
- if len(api_key.strip()) == 0:
- return None
-
- return api_key
- @property
- def google_cx(self) -> str | None:
- cx = self._get("google_cx")
- if len(cx.strip()) == "0":
- return None
- return cx
- @property
- def database_uri(self) -> str:
- return self._get("database_uri")
- @property
- def users_file(self) -> str:
- return self._get("users_file")
- @property
- def covers_dir(self) -> str:
- return self._get("covers_dir")
- @property
- def users_path(self) -> pathlib.Path:
- return pathlib.Path(self.users_file)
- @property
- def thumbnails_dimension(self) -> int:
- try:
- return int(self._get("thumbnails_dimension"))
-
- except:
- raise config_exception("Thumbnails dimension must be integer.")
- @property
- def covers_path(self) -> pathlib.Path:
- return pathlib.Path(self.covers_dir)
|