further splitting out of logic, fixed regression
This commit is contained in:
1
Pipfile
1
Pipfile
@@ -10,6 +10,7 @@ twine = "*"
|
||||
pytest = "*"
|
||||
python-dateutil = "*"
|
||||
click = "*"
|
||||
markdown-timesheet = {editable = true,path = "."}
|
||||
|
||||
[requires]
|
||||
python_version = "3.7"
|
||||
|
||||
18
app/add.py
18
app/add.py
@@ -19,20 +19,26 @@ def add_up_timesheet(timesheet_string: str) -> Minutes:
|
||||
total_minutes = 0
|
||||
|
||||
for line in timesheet_string.split("\n"):
|
||||
total_minutes += get_minutes(line)
|
||||
total_minutes += get_minutes_from_line(line)
|
||||
return total_minutes
|
||||
|
||||
|
||||
def get_minutes(time_sheet_string_line):
|
||||
def get_minutes_from_line(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:
|
||||
start_string, end_string = split_time_range_string(time_range_string)
|
||||
start, end = map(parse_time, [start_string, end_string])
|
||||
return subtract_times(start, end)
|
||||
return sum(
|
||||
get_minutes_from_time_range_string(time_range_string)
|
||||
for time_range_string in time_range_strings
|
||||
)
|
||||
|
||||
|
||||
def get_minutes_from_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])
|
||||
return subtract_times(start, end)
|
||||
|
||||
|
||||
def find_time_ranges(timesheet_line: str) -> Union[list, List[str]]:
|
||||
|
||||
Reference in New Issue
Block a user