Fixed rounding.
authorJere Malinen <jeremmalinen@gmail.com>
Sun, 13 Jun 2010 18:34:15 +0000 (21:34 +0300)
committerJere Malinen <jeremmalinen@gmail.com>
Sun, 13 Jun 2010 18:34:15 +0000 (21:34 +0300)
Previously MB "rounding" was very invalid.

src/opt/netstory/netstory.py

index 30c7554..933398a 100644 (file)
@@ -399,13 +399,12 @@ class TrafficRow:
         self.total_string = self.bytes_representation(self.total_bytes)
         
     def bytes_representation(self, number):
-        s = str(number)
-        if len(s) > 6:
-            s = '%s.%s MB' % (s[0:-6], s[-5])
-        elif len(s) > 3:
-            s = '%s kB' % (s[0:-3])
+        if number > 999999:
+            s = '%.1f MB' % round(number / 1000000.0, 1)
+        elif number > 999:
+            s = '%d kB' % round(number / 1000.0, 0)
         else:
-            s = '%s B' % (s)
+            s = '%d B' % (number)
         return s
         
     def add(self, other):