def timedur_to_IB(timedur: str) -> str:
"""
Convert a user-input ambiguous time duration string to IB-style
durationString and check validility.
:param timedur: A user-input ambiguous time duration string,
like '1 min', '5days',etc.
:returns: IB-style durationString
"""
tdur = timedur_standardize(timedur)
t_num = re.findall('\d+', tdur)[0]
t_unit = tdur[-1]
if t_unit in ['m', 'h']:
multip = {'m': 60, 'h': 3600}[t_unit]
t_num = str(multip * int(t_num))
t_unit = 's'
if t_unit in ['s', 'd', 'W', 'M', 'Y']:
return t_num + ' ' + t_unit.upper()
else:
raise TypeError(
"Invalid input time duration string: {}!".format(timedur))
评论列表
文章目录