mirror of
https://gitlab.com/fdroid/fdroidserver.git
synced 2024-10-05 18:50:09 +02:00
parent
cd69692424
commit
a5deaa80d8
@ -476,7 +476,7 @@ def parse_human_readable_size(size):
|
|||||||
raise ValueError(_('Could not parse size "{size}", wrong type "{type}"')
|
raise ValueError(_('Could not parse size "{size}", wrong type "{type}"')
|
||||||
.format(size=size, type=type(size)))
|
.format(size=size, type=type(size)))
|
||||||
s = size.lower().replace(' ', '')
|
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:
|
if not m:
|
||||||
raise ValueError(_('Not a valid size definition: "{}"').format(size))
|
raise ValueError(_('Not a valid size definition: "{}"').format(size))
|
||||||
return int(float(m.group("value")) * units[m.group("unit")])
|
return int(float(m.group("value")) * units[m.group("unit")])
|
||||||
|
@ -73,6 +73,7 @@ class CommonTest(unittest.TestCase):
|
|||||||
('59kb', 59000),
|
('59kb', 59000),
|
||||||
('343.1 mb', 343100000),
|
('343.1 mb', 343100000),
|
||||||
('99.9GiB', 107266808217),
|
('99.9GiB', 107266808217),
|
||||||
|
('1MB', 1000000),
|
||||||
):
|
):
|
||||||
self.assertEqual(fdroidserver.common.parse_human_readable_size(k), v)
|
self.assertEqual(fdroidserver.common.parse_human_readable_size(k), v)
|
||||||
for v in ((12, 123), '0xfff', [], None, '12,123', '123GG', '982374bb', self):
|
for v in ((12, 123), '0xfff', [], None, '12,123', '123GG', '982374bb', self):
|
||||||
|
Loading…
Reference in New Issue
Block a user