xolox/python-humanfriendly

parse_timespan with multiple values

frafra opened this issue · 1 comments

It would be if parse_timespan could parse multiple values.

>>> import humanfriendly
>>> humanfriendly.parse_timespan("3h")
10800.0
>>> humanfriendly.parse_timespan("4m")
240.0
>>> humanfriendly.parse_timespan("3h 4m")
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/home/frafra/.local/share/fades/756b567c-07d9-445e-8f98-642cf7ac909e/lib64/python3.6/site-packages/humanfriendly/__init__.py", line 516, in parse_timespan
    raise InvalidTimespan(format(msg, timespan, tokens))
humanfriendly.InvalidTimespan: Failed to parse timespan! (input '3h 4m' was tokenized as [3, 'h', 4, 'm'])
>>> import copy
>>> parse_timespan = copy.copy(humanfriendly.parse_timespan)
>>> humanfriendly.parse_timespan = lambda s: sum(map(parse_timespan, s.split()))
>>> humanfriendly.parse_timespan("3h 4m")
11040.0

Other formats which come to mind:

3h04
3:04h