Make abbreviate_space able to output in exabytes. refs #1812
authorDavid-Sarah Hopwood <david-sarah@jacaranda.org>
Thu, 27 Dec 2012 20:08:27 +0000 (20:08 +0000)
committerDavid-Sarah Hopwood <david-sarah@jacaranda.org>
Thu, 27 Dec 2012 20:08:27 +0000 (20:08 +0000)
Signed-off-by: David-Sarah Hopwood <davidsarah@mint>
src/allmydata/test/test_util.py
src/allmydata/util/abbreviate.py

index b2d9bbec3a2c2ac49957ada994b3a9eec3d84449..ecaaa441562f2487ff991cfc5dafe866f98ec135 100644 (file)
@@ -733,7 +733,8 @@ class Abbreviate(unittest.TestCase):
                     (1000*1000*1000, "1.00 GB"),
                     (1000*1000*1000*1000, "1.00 TB"),
                     (1000*1000*1000*1000*1000, "1.00 PB"),
-                    (1234567890123456, "1.23 PB"),
+                    (1000*1000*1000*1000*1000*1000, "1.00 EB"),
+                    (1234567890123456789, "1.23 EB"),
                     ]
         for (x, expected) in tests_si:
             got = abbreviate.abbreviate_space(x, SI=True)
@@ -753,7 +754,8 @@ class Abbreviate(unittest.TestCase):
                           (1024*1024*1024*1024, "1.00 TiB"),
                           (1000*1000*1000*1000*1000, "909.49 TiB"),
                           (1024*1024*1024*1024*1024, "1.00 PiB"),
-                          (1234567890123456, "1.10 PiB"),
+                          (1024*1024*1024*1024*1024*1024, "1.00 EiB"),
+                          (1234567890123456789, "1.07 EiB"),
                     ]
         for (x, expected) in tests_base1024:
             got = abbreviate.abbreviate_space(x, SI=False)
index 46dda6c92397dc91396c984e908259373cbd60d0..4bc170618cc5abe83d156953f76999be7cbcf3d8 100644 (file)
@@ -49,7 +49,9 @@ def abbreviate_space(s, SI=True):
         return r(s/(U*U*U), "G")
     if s < U*U*U*U*U:
         return r(s/(U*U*U*U), "T")
-    return r(s/(U*U*U*U*U), "P")
+    if s < U*U*U*U*U*U:
+        return r(s/(U*U*U*U*U), "P")
+    return r(s/(U*U*U*U*U*U), "E")
 
 def abbreviate_space_both(s):
     return "(%s, %s)" % (abbreviate_space(s, True),