diff options
Diffstat (limited to 'module/utils.py')
| -rw-r--r-- | module/utils.py | 14 | 
1 files changed, 10 insertions, 4 deletions
| diff --git a/module/utils.py b/module/utils.py index 47047ccba..a65a08801 100644 --- a/module/utils.py +++ b/module/utils.py @@ -88,7 +88,7 @@ def formatSize(size):      """formats size of bytes"""      size = int(size)      steps = 0 -    sizes = ["B", "KiB", "MiB", "GiB", "TiB"] +    sizes = ("B", "KiB", "MiB", "GiB", "TiB", "PiB", "EiB")      while size > 1000:          size /= 1024.0          steps += 1 @@ -132,7 +132,7 @@ def uniqify(seq, idfun=None):  def parseFileSize(string, unit=None): #returns bytes      if not unit: -        m = re.match(r"(\d*[\.,]?\d+)(.*)", string.strip().lower()) +        m = re.match(r"([\d.,]+) *([a-zA-Z]*)", string.strip().lower())          if m:              traffic = float(m.group(1).replace(",", "."))              unit = m.group(2) @@ -147,11 +147,17 @@ def parseFileSize(string, unit=None): #returns bytes      #ignore case      unit = unit.lower().strip() -    if unit in ("gb", "gig", "gbyte", "gigabyte", "gib", "g"): +    if unit in ("eb", "ebyte", "exabyte", "eib", "e"): +        traffic *= 1 << 60 +    elif unit in ("pb", "pbyte", "petabyte", "pib", "p"): +        traffic *= 1 << 50 +    elif unit in ("tb", "tbyte", "terabyte", "tib", "t"): +        traffic *= 1 << 40 +    elif unit in ("gb", "gbyte", "gigabyte", "gib", "g", "gig"):          traffic *= 1 << 30      elif unit in ("mb", "mbyte", "megabyte", "mib", "m"):          traffic *= 1 << 20 -    elif unit in ("kb", "kib", "kilobyte", "kbyte", "k"): +    elif unit in ("kb", "kbyte", "kilobyte", "kib", "k"):          traffic *= 1 << 10      return traffic | 
