code: def do_filesizeformat(value, binary=False):
      
      bytes = float(value)
      base = binary and 1024 or 1000
      prefixes = [
          (binary and 'KiB' or 'kB'),
          (binary and 'MiB' or 'MB'),
          (binary and 'GiB' or 'GB'),
          (binary and 'TiB' or 'TB'),
          (binary and 'PiB' or 'PB'),
          (binary and 'EiB' or 'EB'),
          (binary and 'ZiB' or 'ZB'),
          (binary and 'YiB' or 'YB')
      ]
      if bytes == 1:
          return '1 Byte'
      elif bytes < base:
          return '%d Bytes' % bytes
      else:
          for i, prefix in enumerate(prefixes):
              unit = base ** (i + 2)
              if bytes < unit:
                  return '%.1f %s' % ((base * bytes / unit), prefix)
          return '%.1f %s' % ((base * bytes / unit), prefix)
docs: Format the value like a 'human-readable' file size (i.e. 13 kB,
      4.1 MB, 102 Bytes, etc).  Per default decimal prefixes are used (Mega,
      Giga, etc.), if the second parameter is set to `True` the binary
      prefixes are used (Mebi, Gibi).