1.2.0: Refined all 6D calcs and UI/UX Experiences.
This commit is contained in:
63
scripts/check_side_mapping.py
Normal file
63
scripts/check_side_mapping.py
Normal file
@@ -0,0 +1,63 @@
|
||||
import sqlite3
|
||||
import pandas as pd
|
||||
import json
|
||||
import os
|
||||
import sys
|
||||
|
||||
# Add parent directory
|
||||
sys.path.append(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
|
||||
from web.config import Config
|
||||
|
||||
def check_mapping():
|
||||
conn = sqlite3.connect(Config.DB_L2_PATH)
|
||||
|
||||
# Join economy and teams via match_id
|
||||
# We need to match steam_id (in eco) to group_uids (in teams)
|
||||
|
||||
# 1. Get Economy R1 samples
|
||||
query_eco = """
|
||||
SELECT match_id, steam_id_64, side
|
||||
FROM fact_round_player_economy
|
||||
WHERE round_num = 1
|
||||
LIMIT 10
|
||||
"""
|
||||
eco_rows = pd.read_sql_query(query_eco, conn)
|
||||
|
||||
if eco_rows.empty:
|
||||
print("No Economy R1 data found.")
|
||||
conn.close()
|
||||
return
|
||||
|
||||
print("Checking Mapping...")
|
||||
for _, row in eco_rows.iterrows():
|
||||
mid = row['match_id']
|
||||
sid = row['steam_id_64']
|
||||
side = row['side']
|
||||
|
||||
# Get Teams for this match
|
||||
query_teams = "SELECT group_id, group_fh_role, group_uids FROM fact_match_teams WHERE match_id = ?"
|
||||
team_rows = pd.read_sql_query(query_teams, conn, params=(mid,))
|
||||
|
||||
for _, t_row in team_rows.iterrows():
|
||||
# Check if sid is in group_uids (which contains UIDs, not SteamIDs!)
|
||||
# We need to map SteamID -> UID
|
||||
# Use dim_players or fact_match_players
|
||||
q_uid = "SELECT uid FROM fact_match_players WHERE match_id = ? AND steam_id_64 = ?"
|
||||
uid_res = conn.execute(q_uid, (mid, sid)).fetchone()
|
||||
if not uid_res:
|
||||
continue
|
||||
|
||||
uid = str(uid_res[0])
|
||||
group_uids = str(t_row['group_uids']).split(',')
|
||||
|
||||
if uid in group_uids:
|
||||
role = t_row['group_fh_role']
|
||||
print(f"Match {mid}: Steam {sid} (UID {uid}) is on Side {side} in R1.")
|
||||
print(f" Found in Group {t_row['group_id']} with FH Role {role}.")
|
||||
print(f" MAPPING: Role {role} = {side}")
|
||||
break
|
||||
|
||||
conn.close()
|
||||
|
||||
if __name__ == "__main__":
|
||||
check_mapping()
|
||||
Reference in New Issue
Block a user