diff --git a/fdroidserver/common.py b/fdroidserver/common.py index 5a92fba5..d83ac779 100644 --- a/fdroidserver/common.py +++ b/fdroidserver/common.py @@ -476,7 +476,7 @@ def parse_human_readable_size(size): raise ValueError(_('Could not parse size "{size}", wrong type "{type}"') .format(size=size, type=type(size))) s = size.lower().replace(' ', '') - m = re.match(r'^(?P[0-9][0-9.]+) *(?P' + r'|'.join(units.keys()) + r')$', s) + m = re.match(r'^(?P[0-9][0-9.]*) *(?P' + r'|'.join(units.keys()) + r')$', s) if not m: raise ValueError(_('Not a valid size definition: "{}"').format(size)) return int(float(m.group("value")) * units[m.group("unit")]) diff --git a/tests/common.TestCase b/tests/common.TestCase index ad6e1ea4..ca733398 100755 --- a/tests/common.TestCase +++ b/tests/common.TestCase @@ -73,6 +73,7 @@ class CommonTest(unittest.TestCase): ('59kb', 59000), ('343.1 mb', 343100000), ('99.9GiB', 107266808217), + ('1MB', 1000000), ): self.assertEqual(fdroidserver.common.parse_human_readable_size(k), v) for v in ((12, 123), '0xfff', [], None, '12,123', '123GG', '982374bb', self):