From 990367ef6ef2caf967f72cd97b3bf2fe9f68cd5a Mon Sep 17 00:00:00 2001 From: Dmitrii Morozov Date: Wed, 31 Jul 2024 18:14:05 +0200 Subject: Added time played stats --- formatter/__init__.py | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) (limited to 'formatter') diff --git a/formatter/__init__.py b/formatter/__init__.py index 6fce639..a6e1905 100644 --- a/formatter/__init__.py +++ b/formatter/__init__.py @@ -63,6 +63,7 @@ def __format_stats_difference(old_user_stats: UserStats, new_user_stats: UserSta formatting.mbold("Matches played: ") + "{}{}".format(str(new_user_stats.matches_played), __format_stat_difference(old_user_stats.matches_played, new_user_stats.matches_played)), formatting.mbold("Total kills: ") + "{}{}".format(str(new_user_stats.kills), __format_stat_difference(old_user_stats.kills, new_user_stats.kills)), formatting.mbold("Wins: ") + "{}{}".format(str(new_user_stats.wins), __format_stat_difference(old_user_stats.wins, new_user_stats.wins)), + formatting.mbold("Time played: ") + "{}{}".format(__format_minutes(new_user_stats.minutesplayed), __format_minutes_difference(old_user_stats.minutesplayed, new_user_stats.minutesplayed)), separator='\n') def __format_stat_difference(old_stat_value: int, new_stat_value: int): @@ -72,6 +73,13 @@ def __format_stat_difference(old_stat_value: int, new_stat_value: int): else: return "" +def __format_minutes_difference(old_minutes: int, new_minutes: int): + if old_minutes != new_minutes: + difference = max(0, new_minutes - old_minutes) + return " \(\+ {}\)".format(__format_minutes(difference)) + else: + return "" + def __format_stats(user_stats: UserStats): return formatting.format_text( formatting.mbold("User: ") + user_stats.user_display_name, @@ -79,8 +87,20 @@ def __format_stats(user_stats: UserStats): formatting.mbold("Matches played: ") + str(user_stats.matches_played), formatting.mbold("Total kills: ") + str(user_stats.kills), formatting.mbold("Wins: ") + str(user_stats.wins), + formatting.mbold("Time played: ") + __format_minutes(user_stats.minutesplayed), separator='\n') +def __format_minutes(total_minutes: int): + hours = total_minutes // 60 + minutes = total_minutes % 60 + hours_postfix = 's' + minutes_postfix = 's' + if hours % 10 == 1: + hours_postfix = '' + if minutes % 10 == 1: + minutes_postfix = '' + return "{} hour{} {} minute{}".format(hours, hours_postfix, minutes, minutes_postfix) + def format_friend_online(display_name: str, party_size: int): if party_size == 1: text = 'is playing Fortnite\!' -- cgit v1.2.3