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" / "priority-tracks-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 # Priority tracks date = _sql / "date-query.sql" fill_main = _sql / "fill-main.sql" make_hyper = _sql / "make-hyper.sql" init_main = _init / "init-main.sql" # TTLO date_ttlo = _sql / "date-query-ttlo.sql" fill_ttlo_chart = _sql / "fill-ttlo-chart.sql" fill_ttlo_playlist = _sql / "fill-ttlo-playlist.sql" make_ttlo_chart_hyper = _sql / "make-ttlo-chart-hyper.sql" make_ttlo_playlist_hyper = _sql / "make-ttlo-playlist-hyper.sql" init_ttlo_chart = _init / "init-ttlo-chart.sql" init_ttlo_playlist = _init / "init-ttlo-playlist.sql" TABLES = { "artist_ids": "sandbox.kbengi_prio_artists_int_dash", "main_playlist": "prod_eu_analytics.priority_tracks_playlist_main", "hyper_playlist_adds": "prod_eu_analytics.priority_tracks_playlist_adds", "ttlo_chart_main": "prod_eu_analytics.turnthelightsoff_chart_main", "ttlo_chart_hyper": "prod_eu_analytics.turnthelightsoff_chart_hyper", "ttlo_playlist_main": "prod_eu_analytics.turnthelightsoff_playlist_main", "ttlo_playlist_hyper": "prod_eu_analytics.turnthelightsoff_playlist_hyper", } TABLEAU_SITE = "int_mktng" TABLEAU_DATASOURCE_IDS = { "priority_tracks_playlist_adds": "4009e912-8fd8-46e1-8f42-fe2c59f5ab16", } TABLEAU_DATASOURCE_IDS_TTLO = { "turnthelightsoff_chart_hyper": "2b348c40-694e-4dd4-a653-78cc292215db", "turnthelightsoff_playlist_hyper": "defef367-9ed6-45cd-92ff-d3669c54fb6e", }