def cardio_when_converter(raw_value, activity=None):
time_input = raw_value.strip()
time_split = time_input.split(':')
try:
if len(time_split) == 3:
hours_ = int(time_split[0])
minutes_ = int(time_split[1])
seconds_ = int(time_split[2])
when_seconds = hours_ * 3600 + minutes_ * 60 + seconds_
if when_seconds <= 86399:
log_divmod = divmod(when_seconds, 60)
when_hours = round(log_divmod[0] / 60)
when_minutes = round(log_divmod[0] % 60)
when_seconds = round(log_divmod[1])
when_time = ('{0:02d}, {1:02d}, {2:02d}'.format(when_hours,
when_minutes,
when_seconds))
return when_time
else:
raise ConversionFailed('There\'s only 24 hours in a day')
elif time_input == '':
current_time = arrow.now().time()
when_hours = current_time.hour
when_minutes = current_time.minute
when_seconds = current_time.second
when_time = ('{0:02d} {1:02d} {2:02d}'.format(when_hours,
when_minutes,
when_seconds))
return when_time
else:
raise ValueError
except ValueError:
raise ConversionFailed(
'Only digits and ":" can be used. (10:00:00)'
)
评论列表
文章目录