in bonsaicli2/bonsai_cli/commands/assessment.py [0:0]
def parse_duration(input: str) -> Optional[timedelta]:
try:
return timedelta(hours=int(input))
except:
pass
parts = _DURATION_REGEX.match(input)
if not parts:
return None
timedelta_kwargs: Dict[str, int] = {}
for (unit, value) in parts.groupdict().items():
if value is not None:
timedelta_kwargs.update({unit: int(value)})
return timedelta(**timedelta_kwargs)