diff --git a/tools.py b/tools.py index c47e9cd..c277cc6 100644 --- a/tools.py +++ b/tools.py @@ -1,3 +1,4 @@ +import datetime import inspect import os.path import sys @@ -23,3 +24,21 @@ def get_script_dir(follow_symlinks=True): def compare(a: Any, b: Any) -> int: """compare to values, return -1 if a is smaller than b, 1 if a is greater than b, 0 is both are equal""" return bool(a > b) - bool(a < b) + + +def human_readable_time_from_delta(delta: datetime.timedelta) -> str: + time_str = "" + if delta.days > 0: + time_str += "%d days, " % delta.days + + if delta.seconds > 3600: + time_str += "%02d:" % (delta.seconds // 3600) + else: + time_str += "00:" + + if delta.seconds % 3600 > 60: + time_str += "%02d:" % (delta.seconds % 3600 // 60) + else: + time_str += "00:" + + return time_str + "%02d" % (delta.seconds % 60)