79 lines
2.0 KiB
Python
Executable File
79 lines
2.0 KiB
Python
Executable File
#!/usr/bin/env python3
|
|
"""
|
|
Cron nocturne - Met à jour les paris avec les résultats PMU
|
|
Usage: python3 update_results_cron.py
|
|
Cron: 0 20 * * * (après les résultats PMU)
|
|
"""
|
|
|
|
import sqlite3
|
|
import subprocess
|
|
import sys
|
|
from datetime import datetime, timedelta
|
|
|
|
DB_PATH = "/home/h3r7/turf_scraper/turf.db"
|
|
LOG_FILE = "/home/h3r7/turf_scraper/logs/update_results.log"
|
|
|
|
|
|
def log(msg: str):
|
|
timestamp = datetime.now().strftime("%Y-%m-%d %H:%M:%S")
|
|
line = f"[{timestamp}] {msg}"
|
|
print(line)
|
|
with open(LOG_FILE, "a") as f:
|
|
f.write(line + "\n")
|
|
|
|
|
|
def fetch_pmu_results(date: str):
|
|
"""Récupère les résultats PMU via pmu_results.py"""
|
|
log(f"Fetching PMU results for {date}...")
|
|
|
|
cmd = f"cd /home/h3r7/turf_scraper && python3 pmu_results.py --date {date}"
|
|
result = subprocess.run(cmd, shell=True, capture_output=True, text=True)
|
|
|
|
if result.returncode == 0:
|
|
log(f"PMU results fetched successfully")
|
|
return True
|
|
else:
|
|
log(f"PMU results fetch failed: {result.stderr}")
|
|
return False
|
|
|
|
|
|
def update_paris(date: str):
|
|
"""Met à jour les paris avec les résultats"""
|
|
log(f"Updating paris for {date}...")
|
|
|
|
cmd = f"cd /home/h3r7/turf_scraper && python3 update_paris_results.py --date {date}"
|
|
result = subprocess.run(cmd, shell=True, capture_output=True, text=True)
|
|
|
|
if result.returncode == 0:
|
|
log(f"Paris updated: {result.stdout.strip()}")
|
|
return True
|
|
else:
|
|
log(f"Paris update failed: {result.stderr}")
|
|
return False
|
|
|
|
|
|
def main():
|
|
log("=" * 50)
|
|
log("🌙 UPDATE RESULTS CRON - DEMARRAGE")
|
|
log("=" * 50)
|
|
|
|
today = datetime.now().strftime("%Y-%m-%d")
|
|
|
|
# 1. Fetch PMU results
|
|
fetch_pmu_results(today)
|
|
|
|
# 2. Update paris
|
|
update_paris(today)
|
|
|
|
# 3. Also update yesterday if needed (backup)
|
|
yesterday = (datetime.now() - timedelta(days=1)).strftime("%Y-%m-%d")
|
|
update_paris(yesterday)
|
|
|
|
log("=" * 50)
|
|
log("✅ UPDATE RESULTS - TERMINÉ")
|
|
log("=" * 50)
|
|
|
|
|
|
if __name__ == "__main__":
|
|
main()
|