import os from pathlib import Path from dotenv import load_dotenv load_dotenv() def _get_base_dir() -> Path: infamous_dir = os.getenv("INFAMOUSDIR") if not infamous_dir: return Path(__file__).resolve().parent.parent.parent return Path(infamous_dir) / "projects-cea" / "spotify-contribution-cea" BASE_DIR = _get_base_dir() class PATHS: base = BASE_DIR sql = BASE_DIR / "sql" sql_init = BASE_DIR / "sql" / "_create" class QUERY_PATHS: _sql = PATHS.sql _init = PATHS.sql_init # Contribution date = _sql / "date-query.sql" fill_main = _sql / "fill-main.sql" make_hyper = _sql / "make-hyper.sql" init_main_v2 = _init / "init-main-v2.sql" # Market share breakdown date_ms_breakdown = _sql / "date-query-ms-breakdown.sql" fill_ms_breakdown = _sql / "fill-ms-breakdown.sql" TABLES = { "main_v2": "prod_eu_analytics.spotify_contribution_main_v2", "main_ms_breakdown": "prod_eu_analytics.spotify_market_share_breakdown", "hyper": "prod_eu_analytics.spotify_contribution_hyper", } TABLEAU_SITE = "int_mktng" TABLEAU_DATASOURCE_IDS = { "spotify_contribution": "e90da65a-a280-43df-a739-b85c1d05cf29", } TABLEAU_DATASOURCE_IDS_MS_BREAKDOWN = { "spotify_market_share_breakdown": "89a8299a-6ca1-4e3f-aae8-0c9cac7f6eb0", } COUNTRY_CODES = [ "AT", "BE", "CH", "CZ", "DE", "DK", "FI", "FR", "GB", "GR", "IT", "NL", "NO", "PL", "SE", "TR", "US", "ZA", "NG", ] COUNTRY_CODES_BREAKDOWN = [ "AT", "BE", "CH", "CZ", "DE", "DK", "EE", "FI", "FR", "HU", "IT", "KE", "LT", "LV", "NG", "NL", "NO", "PL", "SE", "TR", "ZA", "US", "GB", ]