コード例 #1
0
def _PresentatableKindStats(kind_ent):
  """Generate dict of presentable values for template."""
  count = kind_ent.count
  total_bytes = kind_ent.bytes
  average_bytes = total_bytes / count
  return {'kind_name': kind_ent.kind_name,
          'count': utils.FormatThousands(kind_ent.count),
          'total_bytes_str': utils.GetPrettyBytes(total_bytes),
          'total_bytes': total_bytes,
          'average_bytes_str': utils.GetPrettyBytes(average_bytes),
         }
コード例 #2
0
    def _ParseKindsAndSizes(cls, kinds):
        """Parses kind|size list and returns template parameters.

    Args:
      kinds: list of kinds to process.

    Returns:
      sizes_known: whether or not all kind objects have known sizes.
      size_total: total size of objects with known sizes.
      len(kinds) - 2: for template rendering of greater than 3 kinds.
    """
        sizes_known = True
        size_total = 0
        kinds_and_sizes = utils.RetrieveCachedStats()

        if kinds_and_sizes:
            for kind in kinds:
                if kind in kinds_and_sizes:
                    size_total += kinds_and_sizes[kind]
                else:
                    sizes_known = False
        else:
            sizes_known = False

        if size_total:
            size_total = utils.GetPrettyBytes(size_total)

        return sizes_known, size_total, len(kinds) - 2
コード例 #3
0
    def testGetPrettyBytes(self):
        """Test _GetPrettyBytes method."""
        self.assertEqual('1023 Bytes', utils.GetPrettyBytes(1023))
        self.assertEqual('1 KByte', utils.GetPrettyBytes(1024))
        self.assertEqual('1023 KBytes', utils.GetPrettyBytes(1047575))
        self.assertEqual('1 MByte', utils.GetPrettyBytes(1048576))
        self.assertEqual('1023 MBytes', utils.GetPrettyBytes(1072741823))
        self.assertEqual('1 GByte', utils.GetPrettyBytes(1073741824))
        self.assertEqual('1023 GBytes', utils.GetPrettyBytes(1098511627775))
        self.assertEqual('1 TByte', utils.GetPrettyBytes(1099511627776))
        self.assertEqual('1023 TBytes', utils.GetPrettyBytes(1124899906842623))
        self.assertEqual('1 PByte', utils.GetPrettyBytes(1125899906842624))
        self.assertEqual('1023 PBytes',
                         utils.GetPrettyBytes(1151921504606846175))
        self.assertEqual('1 EByte', utils.GetPrettyBytes(1152921504606846976))

        self.assertEqual('1023 Bytes', utils.GetPrettyBytes(1023, 1))
        self.assertEqual('984.9 KBytes', utils.GetPrettyBytes(1008574, 1))
        self.assertEqual('966.8 MBytes', utils.GetPrettyBytes(1013741823, 1))
        self.assertEqual('940.181 GBytes',
                         utils.GetPrettyBytes(1009511627775, 3))
        self.assertEqual('914.86 TBytes',
                         utils.GetPrettyBytes(1005899906842623, 2))
        self.assertEqual('1.320 PBytes',
                         utils.GetPrettyBytes(1485899906842624, 3))
        self.assertEqual('1.538 EBytes',
                         utils.GetPrettyBytes(1772921504606846976, 3))