X-Git-Url: https://git.rkrishnan.org/?a=blobdiff_plain;f=src%2Fallmydata%2Futil%2Fabbreviate.py;h=46dda6c92397dc91396c984e908259373cbd60d0;hb=6d2ca45c4a75d55feba2fb96f2957eb86bfe9d7d;hp=de0571e1da4c94d29085580cd9b46348997b52cf;hpb=5c4ca677e1092b0c630f8229bce78a6f4a67906b;p=tahoe-lafs%2Ftahoe-lafs.git diff --git a/src/allmydata/util/abbreviate.py b/src/allmydata/util/abbreviate.py index de0571e1..46dda6c9 100644 --- a/src/allmydata/util/abbreviate.py +++ b/src/allmydata/util/abbreviate.py @@ -58,20 +58,25 @@ def abbreviate_space_both(s): def parse_abbreviated_size(s): if s is None or s == "": return None - m = re.match(r"^(\d+)([kKmMgG]?[iB]?[bB]?)$", s) + m = re.match(r"^(\d+)([KMGTPE]?[I]?[B]?)$", s.upper()) if not m: raise ValueError("unparseable value %s" % s) number, suffix = m.groups() - suffix = suffix.upper() if suffix.endswith("B"): suffix = suffix[:-1] - multiplier = {"": 1, - "I": 1, - "K": 1000, - "M": 1000 * 1000, - "G": 1000 * 1000 * 1000, + multiplier = {"": 1, + "I": 1, + "K": 1000, + "M": 1000 * 1000, + "G": 1000 * 1000 * 1000, + "T": 1000 * 1000 * 1000 * 1000, + "P": 1000 * 1000 * 1000 * 1000 * 1000, + "E": 1000 * 1000 * 1000 * 1000 * 1000 * 1000, "KI": 1024, - "MI": 1024*1024, - "GI": 1024*1024*1024, + "MI": 1024 * 1024, + "GI": 1024 * 1024 * 1024, + "TI": 1024 * 1024 * 1024 * 1024, + "PI": 1024 * 1024 * 1024 * 1024 * 1024, + "EI": 1024 * 1024 * 1024 * 1024 * 1024 * 1024, }[suffix] return int(number) * multiplier