import enum from dataclasses import asdict, dataclass from typing import Dict @dataclass class Config: # pylint: disable=too-many-instance-attributes env: str exporter_api_host: str exporter_api_schema: str http_client_max_retries: int http_client_request_timeout: int http_client_retry_interval: int import_scheduled_ttl: int import_in_progress_ttl: int limit: int project: 'ProjectsEnum' upserter_delay: int version: str def to_dict(self) -> Dict: return asdict(self) @enum.unique class ProjectsEnum(str, enum.Enum): DAPD_APPLE = 'dapd_apple' DAPD_SPOTIFY = 'dapd_spotify' DECIBEL = 'decibel' LINKFIRE = 'linkfire' CM_CHARTS_YT = 'cm_charts_yt' CM_CHARTS_SHAZAM = 'cm_charts_shazam' CM_AMAZON_PLAYLISTS = 'cm_amazon_playlists' CM_AMAZON_CHARTS = 'cm_amazon_charts' PD_CHARTS_SPOTIFY = 'pd_charts_spotify' PD_CHARTS_APPLE_MUSIC = 'pd_charts_apple_music' PD_CHARTS_TIKTOKPD_CHARTS_TIKTOK = 'pd_charts_tiktok' SPOTIFY_STREAMS = 'spotify_streams' JUNO_SPOTIFY = 'juno_spotify' MARKET_SIZE = 'market_size' TIKTOK_TOP_VIDEO = 'tiktok_top_video'