aboutsummaryrefslogtreecommitdiffstats
path: root/hommaexceli_py/data_parser.py
diff options
context:
space:
mode:
Diffstat (limited to 'hommaexceli_py/data_parser.py')
-rw-r--r--hommaexceli_py/data_parser.py18
1 files changed, 13 insertions, 5 deletions
diff --git a/hommaexceli_py/data_parser.py b/hommaexceli_py/data_parser.py
index e8ca33b..92297b4 100644
--- a/hommaexceli_py/data_parser.py
+++ b/hommaexceli_py/data_parser.py
@@ -35,9 +35,15 @@ def _date_to_timestamp(date: datetime.datetime) -> str:
def _process_row(row: SheetsRow):
interval = _calculate_interval(row.interval)
- last_done_date = _timestamp_to_date(row.last_done)
- next_date = last_done_date + interval
- next_date_str = _date_to_timestamp(next_date)
+
+ if row.last_done is not None:
+ last_done_date = _timestamp_to_date(row.last_done)
+ next_date = last_done_date + interval
+ next_date_str = _date_to_timestamp(next_date)
+ else:
+ last_done_date = datetime.datetime.now()
+ next_date = datetime.datetime.now()
+ next_date_str = _date_to_timestamp(next_date)
return ProcessedRow(
name=row.name,
@@ -55,8 +61,10 @@ def process_rows(rows: list[SheetsRow]) -> list[ProcessedRow]:
def _is_this_week(processed_row: ProcessedRow):
next_date = processed_row.next_date
- now = datetime.datetime.now()
- return (next_date - now) < datetime.timedelta(weeks=1)
+ today = datetime.datetime.now()
+ current_week_start = today - datetime.timedelta(days=today.weekday())
+ current_week_end = current_week_start + datetime.timedelta(days=7)
+ return next_date > current_week_start and next_date < current_week_end
def filter_only_this_week(rows: list[ProcessedRow]) -> list[ProcessedRow]: