k96beni commited on
Commit
127d456
·
verified ·
1 Parent(s): 8cd16e6

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +21 -8
app.py CHANGED
@@ -400,17 +400,30 @@ def generate_monthly_stats(days=30):
400
 
401
  now = datetime.now()
402
  cutoff_date = now - timedelta(days=days)
403
- filtered_logs = [
404
- log for log in logs if 'timestamp' in log and
405
- datetime.strptime(log['timestamp'], "%Y-%m-%d %H:%M:%S") >= cutoff_date
406
- rescue [] # Handle strptime errors gracefully if any
407
- ]
408
- if not filtered_logs: return {"error": f"Inga loggar hittades för de senaste {days} dagarna."}
409
 
410
- logs = filtered_logs # Use filtered logs from now on
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
411
 
412
  total_conversations = sum(1 for log in logs if 'user_message' in log)
413
- unique_session_ids = set(log.get('session_id') for log in logs if 'session_id' in log)
 
 
 
414
  unique_sessions = len(unique_session_ids)
415
 
416
  feedback_logs = [log for log in logs if 'feedback' in log]
 
400
 
401
  now = datetime.now()
402
  cutoff_date = now - timedelta(days=days)
 
 
 
 
 
 
403
 
404
+ filtered_logs = [] # Korrekt lista för filtrerade loggar
405
+ for log_entry in logs: # Byt namn på loopvariabel för tydlighet
406
+ if 'timestamp' in log_entry and isinstance(log_entry['timestamp'], str):
407
+ try:
408
+ log_date = datetime.strptime(log_entry['timestamp'], "%Y-%m-%d %H:%M:%S")
409
+ if log_date >= cutoff_date:
410
+ filtered_logs.append(log_entry)
411
+ except ValueError:
412
+ # Ignorera loggposter med felaktigt formaterad tidsstämpel
413
+ # print(f"Varning: Felaktigt tidsstämpelformat för logg: {log_entry.get('session_id', 'N/A')}, timestamp: {log_entry['timestamp']}")
414
+ pass
415
+ # Loggposter utan tidsstämpel eller med fel typ ignoreras också implicit
416
+
417
+ if not filtered_logs:
418
+ return {"error": f"Inga giltiga loggar hittades för de senaste {days} dagarna."}
419
+
420
+ logs = filtered_logs # Använd de korrekt filtrerade loggarna
421
 
422
  total_conversations = sum(1 for log in logs if 'user_message' in log)
423
+ # Använd get() med default None för session_id för att undvika KeyError om nyckeln saknas
424
+ unique_session_ids = set(log.get('session_id') for log in logs)
425
+ # Ta bort None från set om det finns med, eftersom det inte representerar en giltig session
426
+ unique_session_ids.discard(None)
427
  unique_sessions = len(unique_session_ids)
428
 
429
  feedback_logs = [log for log in logs if 'feedback' in log]