split out the logic a little more
This commit is contained in:
15
app/add.py
15
app/add.py
@@ -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]]:
|
||||||
|
|||||||
Reference in New Issue
Block a user