This commit is contained in:
@@ -0,0 +1,79 @@
|
||||
"""
|
||||
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()
|
||||
Reference in New Issue
Block a user