# Steam MM Pipeline Config
# Fetch match history, download DEMOs, parse stats, sync to Airtable

import os
from dotenv import load_dotenv

load_dotenv()

# ─── STEAM API ───
STEAM_API_KEY = os.getenv('STEAM_API_KEY', 'AF64AE59BA8AADC6D4AD174F91727126')
STEAM_APP_ID = 730  # CS2

# ─── AIRTABLE ───
AIRTABLE_PAT = os.getenv('AIRTABLE_API_KEY', 'patN3HqRbGlXgm7t0.e30c0520d5a483ed21d132e82ae89f202542816e7884624689f09ac4d8483846')
AIRTABLE_BASE_ID = os.getenv('AIRTABLE_BASE_ID', 'appZh8kPulBOY571R')
AIRTABLE_INPUT_TABLE = 'Input Data'  # Per-kamp stats

# ─── PATHS ───
DEMOS_DIR = os.path.join(os.path.dirname(__file__), 'demos')
STATS_CACHE = os.path.join(os.path.dirname(__file__), 'stats_cache.json')

# ─── LOGGING ───
LOG_LEVEL = 'INFO'

# ─── STEAM MATCH HISTORY PARAMS ───
MATCH_HISTORY_COUNT = 50  # Hent sidste 50 kampe
MIN_MATCH_DURATION_MIN = 10  # Ignorer matches under 10 min (afbrudt)

# ─── DEMO PARSING ───
# awpy: CS:GO/CS2 demo parser (pip install awpy)
# Hvis awpy ikke virker, fallback til manual JSON parsing af DEMO
PARSER_TYPE = 'awpy'  # or 'vdm2', 'manual'

# ─── AIRTABLE FIELD MAPPING ───
# Hvordan DEMO data mapper til Airtable felter
AIRTABLE_FIELD_MAP = {
    'Spiller': 'player_name',
    'Kampe': 'match_count',
    'Kills': 'kills',
    'Assist': 'assists',
    'Death': 'deaths',
    'HS%': 'headshot_pct',
    'MVP': 'mvp_count',
    'UD': 'utility_damage',
    'EF': 'entry_frags',
    'ADR': 'adr',
    'Vund._rund': 'rounds_won',
    'Tabt_rund': 'rounds_lost',
    'Tot_rund': 'total_rounds',
    'Kniv_giv': 'knife_kills',
    'Kniv_modt': 'knife_deaths',
    'Zap_giv': 'taser_kills',
    'Zap_modt': 'taser_deaths',
    'DATO': 'match_date',
    'Map': 'map_name',
    'Pistol_Kills': 'pistol_kills',
    'Sniper_Kills': 'sniper_kills',
    'Multi_2k': 'multi_2k',
    'Multi_3k': 'multi_3k',
    'Multi_4k': 'multi_4k',
    'Multi_5k': 'multi_5k',
    'Specialization': 'specialization',
    'Kills_Trend': 'kills_trend',
    'Total_Matches': 'total_matches',
}
