Files
iddaai-be/ai-engine/scripts/list_matches_13_sept.py
T
fahricansecer 2f0b85a0c7
Deploy Iddaai Backend / build-and-deploy (push) Failing after 18s
first (part 2: other directories)
2026-04-16 15:11:25 +03:00

80 lines
2.4 KiB
Python

"""
List Matches for Sept 13, 2025 (Top Leagues)
============================================
"""
import os
import sys
import json
import psycopg2
from psycopg2.extras import RealDictCursor
from datetime import datetime
project_root = os.path.dirname(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
sys.path.insert(0, project_root)
def get_clean_dsn() -> str:
return "postgresql://suggestbet:SuGGesT2026SecuRe@localhost:15432/boilerplate_db"
def list_matches():
print("📅 Matches on Sept 13, 2025 (Top Leagues)")
print("="*60)
# Load Top Leagues
leagues_path = os.path.join(project_root, "top_leagues.json")
try:
with open(leagues_path, 'r') as f:
top_leagues = json.load(f)
league_ids = tuple(str(lid) for lid in top_leagues)
print(f"📋 Loaded {len(top_leagues)} top leagues.")
except Exception as e:
print(f"❌ Error loading top_leagues.json: {e}")
return
# Date Range
start_dt = datetime(2025, 9, 13, 0, 0, 0)
end_dt = datetime(2025, 9, 13, 23, 59, 59)
start_ts = int(start_dt.timestamp() * 1000)
end_ts = int(end_dt.timestamp() * 1000)
dsn = get_clean_dsn()
conn = psycopg2.connect(dsn)
cur = conn.cursor(cursor_factory=RealDictCursor)
# Fetch Matches
query = """
SELECT m.id, m.match_name, m.home_team_id, m.away_team_id,
m.mst_utc, m.league_id, m.status, m.score_home, m.score_away,
t1.name as home_team, t2.name as away_team,
l.name as league_name
FROM matches m
LEFT JOIN teams t1 ON m.home_team_id = t1.id
LEFT JOIN teams t2 ON m.away_team_id = t2.id
LEFT JOIN leagues l ON m.league_id = l.id
WHERE m.mst_utc BETWEEN %s AND %s
AND m.league_id IN %s
ORDER BY m.mst_utc ASC
"""
cur.execute(query, (start_ts, end_ts, league_ids))
rows = cur.fetchall()
print(f"📊 Found {len(rows)} matches.")
print("-" * 60)
for r in rows:
time_str = datetime.fromtimestamp(r['mst_utc']/1000).strftime('%H:%M')
score = f"{r['score_home']} - {r['score_away']}" if r['score_home'] is not None else "v"
status = r['status']
print(f"{time_str} | {r['league_name']}")
print(f" {r['home_team']} {score} {r['away_team']} ({status})")
print(f" ID: {r['id']}")
print("-" * 40)
cur.close()
conn.close()
if __name__ == "__main__":
list_matches()