diff options
Diffstat (limited to 'common.py')
-rw-r--r-- | common.py | 17 |
1 files changed, 17 insertions, 0 deletions
@@ -4,6 +4,7 @@ from fnmatch import fnmatchcase from pathlib import Path, PosixPath from urllib.parse import urlparse, urlunparse from stat import S_ISDIR +from math import modf from xdg.BaseDirectory import xdg_config_home import logging import yaml @@ -118,6 +119,22 @@ def load_config(path=None, groupnames=None): config['layers'] = layers sys.modules[__name__].config = config +def format_bytes(n): + if n < 768: + return f'{n}B' + elif n < 768*1024: + return f'{n/1024:.2f}kiB' + elif n < 768*1024*1024: + return f'{n/1048576:.2f}MiB' + else: + return f'{n/1073741824:.2f}GiB' + +def format_time(s): + fs, s = modf(s) + m, s = divmod(int(s), 60) + h, m = divmod(m, 60) + return f'{h:02d}:{m:02d}:{s + fs:06.3f}' + ###### # The function definitions below are taken from cpython's source code |