[blivet:master 3/3] Use named constants for binary and decimal factors.
mulhern
amulhern at redhat.com
Tue Sep 30 12:27:30 UTC 2014
Signed-off-by: mulhern <amulhern at redhat.com>
---
blivet/size.py | 37 ++++++++++++++++++++-----------------
1 file changed, 20 insertions(+), 17 deletions(-)
diff --git a/blivet/size.py b/blivet/size.py
index 0e8b500..478b7ea 100644
--- a/blivet/size.py
+++ b/blivet/size.py
@@ -37,28 +37,31 @@ from .i18n import _, N_
# Container for size unit prefix information
_Prefix = namedtuple("Prefix", ["factor", "prefix", "abbr"])
+_decimalFactor = 1000
+_binaryFactor = 1024
+
# Decimal prefixes for different size increments, along with the name
# and accepted abbreviation for the prefix. These prefixes are all
# for 'bytes'.
-_decimalPrefixes = [_Prefix(1000, N_(b"kilo"), N_(b"k")),
- _Prefix(1000**2, N_(b"mega"), N_(b"M")),
- _Prefix(1000**3, N_(b"giga"), N_(b"G")),
- _Prefix(1000**4, N_(b"tera"), N_(b"T")),
- _Prefix(1000**5, N_(b"peta"), N_(b"P")),
- _Prefix(1000**6, N_(b"exa"), N_(b"E")),
- _Prefix(1000**7, N_(b"zetta"), N_(b"Z")),
- _Prefix(1000**8, N_(b"yotta"), N_(b"Y"))]
+_decimalPrefixes = [_Prefix(_decimalFactor, N_(b"kilo"), N_(b"k")),
+ _Prefix(_decimalFactor**2, N_(b"mega"), N_(b"M")),
+ _Prefix(_decimalFactor**3, N_(b"giga"), N_(b"G")),
+ _Prefix(_decimalFactor**4, N_(b"tera"), N_(b"T")),
+ _Prefix(_decimalFactor**5, N_(b"peta"), N_(b"P")),
+ _Prefix(_decimalFactor**6, N_(b"exa"), N_(b"E")),
+ _Prefix(_decimalFactor**7, N_(b"zetta"), N_(b"Z")),
+ _Prefix(_decimalFactor**8, N_(b"yotta"), N_(b"Y"))]
# Binary prefixes for the different size increments. Same structure
# as the above list.
-_binaryPrefixes = [_Prefix(1024, N_(b"kibi"), N_(b"Ki")),
- _Prefix(1024**2, N_(b"mebi"), N_(b"Mi")),
- _Prefix(1024**3, N_(b"gibi"), N_(b"Gi")),
- _Prefix(1024**4, N_(b"tebi"), N_(b"Ti")),
- _Prefix(1024**5, N_(b"pebi"), N_(b"Pi")),
- _Prefix(1024**6, N_(b"exbi"), N_(b"Ei")),
- _Prefix(1024**7, N_(b"zebi"), N_(b"Zi")),
- _Prefix(1024**8, N_(b"yobi"), N_(b"Yi"))]
+_binaryPrefixes = [_Prefix(_binaryFactor, N_(b"kibi"), N_(b"Ki")),
+ _Prefix(_binaryFactor**2, N_(b"mebi"), N_(b"Mi")),
+ _Prefix(_binaryFactor**3, N_(b"gibi"), N_(b"Gi")),
+ _Prefix(_binaryFactor**4, N_(b"tebi"), N_(b"Ti")),
+ _Prefix(_binaryFactor**5, N_(b"pebi"), N_(b"Pi")),
+ _Prefix(_binaryFactor**6, N_(b"exbi"), N_(b"Ei")),
+ _Prefix(_binaryFactor**7, N_(b"zebi"), N_(b"Zi")),
+ _Prefix(_binaryFactor**8, N_(b"yobi"), N_(b"Yi"))]
# Empty prefix works both for decimal and binary
_emptyPrefix = _Prefix(1, "".decode("utf-8"), "".decode("utf-8"))
@@ -324,7 +327,7 @@ class Size(Decimal):
for factor, _prefix, abbr in itertools.chain([_emptyPrefix], _xlated_binary_prefixes()):
newcheck = super(Size, self).__div__(Decimal(factor))
- if abs(newcheck) < 1024 * min_value:
+ if abs(newcheck) < _binaryFactor * min_value:
# nice value, use this factor, prefix and abbr
break
--
1.9.3
More information about the anaconda-patches
mailing list