import asyncio from sqlalchemy import select, func from app.db.session import SessionLocal from app.models.audit import ProcessLog from datetime import datetime, timedelta async def generate_morning_report(): async with SessionLocal() as db: # Az elmúlt 24 óra logjai yesterday = datetime.now() - timedelta(days=1) stmt = select(ProcessLog).where(ProcessLog.start_time >= yesterday) res = await db.execute(stmt) logs = res.scalars().all() report = f"📊 REGGELI ROBOT JELENTÉS - {datetime.now().date()}\n" report += "="*40 + "\n" total_proc = 0 total_fail = 0 cleaned_list = [] for log in logs: total_proc += log.items_processed total_fail += log.items_failed if "cleaned" in log.details: cleaned_list.extend(log.details["cleaned"]) report += f"✅ Feldolgozott modellek: {total_proc}\n" report += f"❌ Hibás/Sikertelen: {total_fail}\n" report += f"🧹 AI névtisztítások száma: {len(cleaned_list)}\n\n" if cleaned_list: report += "Példák a tisztított nevekre:\n" for item in cleaned_list[:10]: # Csak az első 10-et listázzuk report += f" - {item}\n" print(report) # Itt hívható az EmailManager.send(...) return report if __name__ == "__main__": asyncio.run(generate_morning_report())