diff options
author | Delirious Lettuce <delirious.lettuce@gmail.com> | 2017-05-24 22:20:50 -0600 |
---|---|---|
committer | Delirious Lettuce <delirious.lettuce@gmail.com> | 2017-05-24 22:20:50 -0600 |
commit | 979242b47868def83b21786eed1c4f60f7b829bb (patch) | |
tree | 616b258c0f9ebf50b239d9d0ff7dc1befd0d520f | |
parent | d25c6d949f7a2a1d59ea07b87835b091db447cf1 (diff) | |
download | onionshare-979242b47868def83b21786eed1c4f60f7b829bb.tar.gz onionshare-979242b47868def83b21786eed1c4f60f7b829bb.zip |
Use `divmod` to simplify the calculations, `seconds==0 -> '0s'`
-rw-r--r-- | onionshare/common.py | 33 |
1 files changed, 11 insertions, 22 deletions
diff --git a/onionshare/common.py b/onionshare/common.py index 508acd36..3008ad3a 100644 --- a/onionshare/common.py +++ b/onionshare/common.py @@ -160,30 +160,19 @@ def human_readable_filesize(b): def format_seconds(seconds): """Return a human-readable string of the format 1d2h3m4s""" - seconds_in_a_minute = 60 - seconds_in_an_hour = seconds_in_a_minute * 60 - seconds_in_a_day = seconds_in_an_hour * 24 - - days = math.floor(seconds / seconds_in_a_day) - - hour_seconds = seconds % seconds_in_a_day - hours = math.floor(hour_seconds / seconds_in_an_hour) - - minute_seconds = hour_seconds % seconds_in_an_hour - minutes = math.floor(minute_seconds / seconds_in_a_minute) - - remaining_seconds = minute_seconds % seconds_in_a_minute - seconds = math.ceil(remaining_seconds) + days, seconds = divmod(seconds, 86400) + hours, seconds = divmod(seconds, 3600) + minutes, seconds = divmod(seconds, 60) human_readable = [] - if days > 0: - human_readable.append("{}d".format(int(days))) - if hours > 0: - human_readable.append("{}h".format(int(hours))) - if minutes > 0: - human_readable.append("{}m".format(int(minutes))) - if seconds > 0: - human_readable.append("{}s".format(int(seconds))) + if days: + human_readable.append("{}d".format(days)) + if hours: + human_readable.append("{}h".format(hours)) + if minutes: + human_readable.append("{}m".format(minutes)) + if seconds or not human_readable: + human_readable.append("{:.0f}s".format(seconds)) return ''.join(human_readable) |