split out the logic a little more

This commit is contained in:
2019-09-05 09:47:32 +02:00
parent 6e5f8c462f
commit 6f1699e446

View File

@@ -19,13 +19,20 @@ def add_up_timesheet(timesheet_string: str) -> Minutes:
total_minutes = 0 total_minutes = 0
for line in timesheet_string.split("\n"): for line in timesheet_string.split("\n"):
time_range_strings = find_time_ranges(line) total_minutes += get_minutes(line)
if time_range_strings: return total_minutes
def get_minutes(time_sheet_string_line):
time_range_strings = find_time_ranges(time_sheet_string_line)
if not time_range_strings:
return 0
for time_range_string in time_range_strings: for time_range_string in time_range_strings:
start_string, end_string = split_time_range_string(time_range_string) start_string, end_string = split_time_range_string(time_range_string)
start, end = map(parse_time, [start_string, end_string]) start, end = map(parse_time, [start_string, end_string])
total_minutes += subtract_times(start, end) return subtract_times(start, end)
return total_minutes
def find_time_ranges(timesheet_line: str) -> Union[list, List[str]]: def find_time_ranges(timesheet_line: str) -> Union[list, List[str]]: