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" / "skiprate-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 get_dates = _sql / "get-dates.sql" make_session = _sql / "make-session-table.sql" append_skiprate = _sql / "append-skiprate-table.sql" init_id_table = _init / "init-id-table.sql" init_main_table = _init / "init-main-table.sql" TABLES = { "playlist_ids": "prod_eu_analytics.skiprate_playlist_ids", "playlist_positions": "prod_eu_analytics.liveplaylisting_spotify_histo", "session": "prod_eu_analytics.skiprate_session", "temp": "prod_eu_analytics.skiprate_temp", "main": "prod_eu_analytics.skiprate_main", } SESSION_PARAMS = { "consumers_per_playlist": 5000, "session_break_minutes": 30, "session_length_lower_minutes": 2, "session_length_upper_minutes": 120, }