dj-embe/config.py

48 lines
1.5 KiB
Python
Raw Normal View History

2023-04-23 15:38:19 +00:00
import toml
2023-04-23 22:48:31 +00:00
class DiscordConfig:
2023-05-16 23:04:16 +00:00
def __init__(self, discordConfig) -> None:
self.token: str = discordConfig["token"]
self.timeout: int = discordConfig["timeout"]
2023-04-27 23:19:18 +00:00
class YoutubeConfig:
2023-05-16 23:04:16 +00:00
def __init__(self, youtubeConfig) -> None:
self.language: str = youtubeConfig["language"]
self.region: str = youtubeConfig["region"]
2023-04-23 15:38:19 +00:00
2023-05-06 01:16:26 +00:00
class SpotifyConfig:
2023-05-16 23:04:16 +00:00
def __init__(self, spotifyConfig) -> None:
self.clientId: str = spotifyConfig["clientId"]
self.clientSecret: str = spotifyConfig["clientSecret"]
self.region: str = spotifyConfig["region"]
2023-05-06 01:16:26 +00:00
2023-04-23 22:48:31 +00:00
class LoggingConfig:
2023-05-16 23:04:16 +00:00
def __init__(self, loggingConfig) -> None:
self.level: str = loggingConfig["level"]
2023-04-23 15:38:19 +00:00
2023-04-23 22:48:31 +00:00
class RedisConfig:
2023-05-16 23:04:16 +00:00
def __init__(self, redisConfig) -> None:
self.host: str = redisConfig["host"]
self.port: int = redisConfig["port"]
self.password: str = redisConfig["password"]
2023-04-23 22:48:31 +00:00
class Config:
2023-05-16 23:04:16 +00:00
def __init__(self, configPath: str) -> None:
self.config = toml.load(configPath)
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"])
2023-04-23 15:38:19 +00:00
def __str__(self) -> str:
2023-05-16 23:04:16 +00:00
return str(self.config)