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" / "discoverydash-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 # Shared date = _sql / "date-query.sql" # Discovery queries playlist_discovery = _sql / "discovery-query-playlist.sql" search_discovery = _sql / "discovery-query-search.sql" radio_discovery = _sql / "discovery-query-radio.sql" # Backfill queries radio_backfill_override = _sql / "backfill-override-radio.sql" search_backfill_override = _sql / "backfill-override-search.sql" # Hyper queries playlist_hyper = _sql / "hyper-query-playlist.sql" search_hyper = _sql / "hyper-query-search.sql" radio_hyper = _sql / "hyper-query-radio.sql" # Init DDL playlist_init = _init / "init-main-playlist.sql" search_init = _init / "init-main-search.sql" radio_init = _init / "init-main-radio.sql" SOURCES = ["playlist", "search", "radio"] TABLES = { "isrc_override": "prod_eu_analytics.discoverydash_isrc_override", "playlist_uri": "prod_eu_analytics.discoverydash_playlist_uri", "playlist_main": "prod_eu_analytics.discoverydash_playlist_main", "playlist_temp": "prod_eu_analytics.discoverydash_playlist_temp", "playlist_hyper": "prod_eu_analytics.discoverydash_playlist_hyper", "search_main": "prod_eu_analytics.discoverydash_search_main", "search_temp": "prod_eu_analytics.discoverydash_search_temp", "search_hyper": "prod_eu_analytics.discoverydash_search_hyper", "radio_main": "prod_eu_analytics.discoverydash_radio_main", "radio_temp": "prod_eu_analytics.discoverydash_radio_temp", "radio_hyper": "prod_eu_analytics.discoverydash_radio_hyper", } COUNTRY_CODES = [ "AT", "BE", "CH", "DE", "DK", "FI", "FR", "GB", "IT", "KE", "NG", "NL", "NO", "PL", "SE", "TR", "US", "ZA", "ES", "ID", "MY", "PH", "AU", "NZ", "MX", "BR", "IN", "CA", "AR", "CL", "CO", "PE", "PT", "IE", "GR", "JP", "IS", "GH", "CI", "ET", "EE", "LV", "LT", ] QUANTILES = { "radio": 0.95, "search": 0.97, } WINDOW_LENGTH = 367 # Tableau TABLEAU_SITE = "int_mktng" TABLEAU_DATASOURCE_IDS = { "playlist": "656ec833-3195-4823-b60b-01ef31f9e39a", "search": "304e3c1c-45f8-440d-933b-bef47050c634", "radio": "c5fe1543-56b2-4e50-957a-6ad3beed37f6", } # Email EMAIL_SENDER = "matti.karjalainen@sonymusic.com" EMAIL_SENDER_ALIAS = "CEA Analytics" EMAIL_RECIPIENTS = [ "matti.karjalainen@sonymusic.com", "alikutay.bengi@sonymusic.com", ]