From 0d210d01b012c25b9b007d8adf577fe6dd006f11 Mon Sep 17 00:00:00 2001 From: Dmitrii Morozov Date: Wed, 31 Jul 2024 18:50:24 +0200 Subject: Added KD and WP stats --- formatter/__init__.py | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) (limited to 'formatter') diff --git a/formatter/__init__.py b/formatter/__init__.py index 5b41037..91270de 100644 --- a/formatter/__init__.py +++ b/formatter/__init__.py @@ -64,6 +64,8 @@ def __format_stats_difference(old_user_stats: UserStats, new_user_stats: UserSta 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)), + formatting.mbold("Kill-Death Ratio: ") + "{}{}".format(formatting.escape_markdown(str(new_user_stats.get_kd())), __format_float_difference(old_user_stats.get_kd(), new_user_stats.get_kd())), + formatting.mbold("Win percentage: ") + "{}{}".format(formatting.escape_markdown(str(new_user_stats.get_winpercentage())), __format_float_difference(old_user_stats.get_winpercentage(), new_user_stats.get_winpercentage())), separator='\n') def __format_stat_difference(old_stat_value: int, new_stat_value: int): @@ -80,6 +82,19 @@ def __format_minutes_difference(old_minutes: int, new_minutes: int): else: return "" +def __format_float_difference(old_val: float, new_val: float): + if old_val != new_val: + difference: float = new_val - old_val + sign = '' + if difference > 0: + sign = '+' + else: + sign = '-' + difference = difference * -1 + return formatting.escape_markdown(" \(\{} {}\)".format(sign, str(float(format(difference, '.2f'))))) + else: + return "" + def __format_stats(user_stats: UserStats): return formatting.format_text( formatting.mbold("User: ") + user_stats.user_display_name, @@ -88,6 +103,8 @@ def __format_stats(user_stats: UserStats): formatting.mbold("Total kills: ") + str(user_stats.kills), formatting.mbold("Wins: ") + str(user_stats.wins), formatting.mbold("Time played: ") + __format_minutes(user_stats.minutesplayed), + formatting.mbold("Kill-Death Ratio: ") + formatting.escape_markdown(str(user_stats.get_kd())), + formatting.mbold("Win percantage: ") + formatting.escape_markdown(str(user_stats.get_winpercentage())), separator='\n') def __format_minutes(total_minutes: int): -- cgit v1.2.3