Spaces:
Sleeping
Sleeping
File size: 1,147 Bytes
641009d |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
from datetime import datetime
def detect_tilt_streaks(games, username, tilt_streak_count=6, tilt_time_gap=10800):
"""Detect tilt streaks based on consecutive losses."""
games_sorted = sorted(games, key=lambda x: x.get('end_time'))
tilt_occurrences = []
current_streak = 0
streak_start_time = None
for game in games_sorted:
end_time = game.get('end_time')
if not end_time:
continue
end_datetime = datetime.fromtimestamp(end_time)
result = get_game_result(game, username)
if result in ['checkmated', 'timeout', 'resigned', 'lose', 'abandoned']:
if current_streak == 0:
streak_start_time = end_datetime
current_streak += 1
if current_streak >= tilt_streak_count:
tilt_occurrences.append({
"start_time": streak_start_time,
"end_time": end_datetime,
"streak_length": current_streak
})
current_streak = 0
else:
current_streak = 0
return tilt_occurrences
|