dj-embe/config.py
2023-05-06 03:25:01 +02:00

48 lines
1.5 KiB
Python

import toml
class DiscordConfig:
def __init__(self, discord_config) -> None:
self.token: str = discord_config["token"]
self.timeout: int = discord_config["timeout"]
class YoutubeConfig:
def __init__(self, youtube_config) -> None:
self.language: str = youtube_config["language"]
self.region: str = youtube_config["region"]
class SpotifyConfig:
def __init__(self, spotify_config) -> None:
self.clientId: str = spotify_config["clientId"]
self.clientSecret: str = spotify_config["clientSecret"]
self.region: str = spotify_config["region"]
class LoggingConfig:
def __init__(self, logging_config) -> None:
self.level: str = logging_config["level"]
class RedisConfig:
def __init__(self, redis_config) -> None:
self.host: str = redis_config["host"]
self.port: int = redis_config["port"]
self.password: str = redis_config["password"]
class Config:
def __init__(self, config_path: str) -> None:
self._config = toml.load(config_path)
self.appName: str = self._config["appName"]
self.downloadDirectory: str = self._config["downloadDirectory"]
self.discord = DiscordConfig(self._config["discord"])
self.youtube = YoutubeConfig(self._config["youtube"])
self.spotify = SpotifyConfig(self._config["spotify"])
self.logging = LoggingConfig(self._config["logging"])
self.redis = RedisConfig(self._config["redis"])
def __str__(self) -> str:
return str(self._config)