1
0
mirror of https://gitlab.com/fdroid/fdroidserver.git synced 2024-10-03 17:50:11 +02:00

Merge branch 'fix_human_size' into 'master'

Parse single digit sizes

Closes #946

See merge request fdroid/fdroidserver!1050
This commit is contained in:
Hans-Christoph Steiner 2021-11-29 11:20:39 +00:00
commit a391ac0d0f
2 changed files with 2 additions and 1 deletions

View File

@ -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<value>[0-9][0-9.]+) *(?P<unit>' + r'|'.join(units.keys()) + r')$', s)
m = re.match(r'^(?P<value>[0-9][0-9.]*) *(?P<unit>' + 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")])

View File

@ -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):