Browse Source

Implement the unit adjusting function

check-vt100
Aleksander Kiryk 4 years ago
parent
commit
d1eb7dc69c
  1. 17
      common.py

17
common.py

@ -16,6 +16,10 @@ import re
# that can cause incompatibilities and minor number for regular fixes
SARGRAPH_VERSION = "2.0.0"
# Define units for use with unit_str
TIME_UNITS = ['seconds', 'minutes', 'hours']
DATA_UNITS = ['B', 'kB', 'MB', 'GB', 'TB', 'PB']
# Print an error message and exit with non-zero status
def fail(msg):
@ -42,6 +46,19 @@ def stof(s):
return float(s.replace(',', '.'))
# Scale a value until it has a convenient size and unit, round the value
# and return a string representation with the new value and its unit
def unit_str(value, units, step=1024):
value = float(value)
biggest = len(units) - 1
unit = 0
while value >= step and unit < biggest:
value /= step
unit += 1
return f"{round(value, 2)} {units[unit]}"
# Get the first group from a given match and convert to required type
def scan(regex, conv, string):
match = re.search(regex, string)

Loading…
Cancel
Save