diff --git a/README.md b/README.md
index 34c7c13..47e9f20 100644
--- a/README.md
+++ b/README.md
@@ -61,13 +61,31 @@ Located in Baden-WΓΌrttemberg, Germany
Last update: Friday, 3 May 07:04 CEST
Last update: Friday, 3 May 07:28 CEST
\ No newline at end of file diff --git a/readme_updater.py b/readme_updater.py index d3f6526..12ba96b 100644 --- a/readme_updater.py +++ b/readme_updater.py @@ -13,9 +13,9 @@ import requests load_dotenv() # Constants for the progress bar -MAX_BAR_LENGTH = 30 +MAX_BAR_LENGTH = 40 BAR_CHAR = 'β' -EMPTY_BAR_CHAR = 'β' +EMPTY_BAR_CHAR = '-' def hex_to_rgb(hex_color): @@ -40,6 +40,22 @@ def calc_darkness_bias(obj, threshold): return 0 +def seconds_to_string(seconds): + days = seconds // 86400 + remaining_seconds = seconds % 86400 + hours = remaining_seconds // 3600 + remaining_minutes = (remaining_seconds % 3600) // 60 + + time_string = "" + if days > 0: + time_string += f"{days}:{hours:02}" + else: + time_string += f"{hours}" + time_string += f":{remaining_minutes:02}" + + return time_string + + resource_dir = os.path.join(os.path.dirname( os.path.abspath(__file__)), "resources") env = Environment(loader=FileSystemLoader(resource_dir)) @@ -94,32 +110,32 @@ try: max_lang_len = max(len(entry["key"]) for entry in lang_list) max_key_len = max(max_name_len, max_lang_len) - max_proj_time_len = max(len(str(datetime.timedelta(seconds=entry["total"]))) for entry in project_list) - max_lang_time_len = max(len(str(datetime.timedelta(seconds=entry["total"]))) for entry in lang_list) + max_proj_time_len = max(len(seconds_to_string(entry["total"])) for entry in project_list) + max_lang_time_len = max(len(seconds_to_string(entry["total"])) for entry in lang_list) max_total_len = max(max_proj_time_len, max_lang_time_len) waka_projects += "```\n" for project in project_list: filled_length = int((project["total"] / total_duration) * MAX_BAR_LENGTH) progress_bar = BAR_CHAR * filled_length + EMPTY_BAR_CHAR * (MAX_BAR_LENGTH - filled_length) - percentage_str = str(int((project["total"] / total_duration * 100))) + " %" + percentage_str = str(int((project["total"] / total_duration * 100))) + "%" waka_projects += f"{project['key']:<{max_key_len}} " - waka_projects += f"{str(datetime.timedelta(seconds=project["total"])):>{max_total_len}} " + waka_projects += f"{seconds_to_string(project["total"]):>{max_total_len}} " waka_projects += f"{progress_bar} " - waka_projects += f"{percentage_str:>4}\n" + waka_projects += f"{percentage_str:>3}\n" waka_projects += "```" waka_langs += "```\n" for lang in lang_list: filled_length = int((lang["total"] / total_duration) * MAX_BAR_LENGTH) progress_bar = BAR_CHAR * filled_length + EMPTY_BAR_CHAR * (MAX_BAR_LENGTH - filled_length) - percentage_str = str(int((lang["total"] / total_duration * 100))) + " %" + percentage_str = str(int((lang["total"] / total_duration * 100))) + "%" waka_langs += f"{lang['key']:<{max_key_len}} " - waka_langs += f"{str(datetime.timedelta(seconds=lang["total"])):>{max_total_len}} " + waka_langs += f"{seconds_to_string(lang["total"]):>{max_total_len}} " waka_langs += f"{progress_bar} " - waka_langs += f"{percentage_str:>4}\n" + waka_langs += f"{percentage_str:>3}\n" waka_langs += "```" except Exception as e: waka_projects = ""