aboutsummaryrefslogtreecommitdiffstats
path: root/hommaexceli_py/parser.py
diff options
context:
space:
mode:
Diffstat (limited to 'hommaexceli_py/parser.py')
-rw-r--r--hommaexceli_py/parser.py52
1 files changed, 0 insertions, 52 deletions
diff --git a/hommaexceli_py/parser.py b/hommaexceli_py/parser.py
deleted file mode 100644
index 1b779a6..0000000
--- a/hommaexceli_py/parser.py
+++ /dev/null
@@ -1,52 +0,0 @@
-import datetime
-import logging
-import re
-from sheets_client import SheetsRow
-
-INTERVAL_ABBREVS = {
- "pv": datetime.timedelta(days=1),
- "vk": datetime.timedelta(days=7),
- "kk": datetime.timedelta(days=30),
- "v": datetime.timedelta(days=365),
-}
-
-
-def _calculate_interval(interval_str: str):
- match = re.search(r"(\d+)(\w+)", interval_str)
- number = int(match[1])
- abbrev = match[2]
-
- try:
- interval = INTERVAL_ABBREVS[abbrev]
- except KeyError:
- raise Exception(f'"{interval_str}" is an invalid interval string!')
-
- total_interval = datetime.timedelta(seconds=interval.total_seconds() * number)
- return total_interval
-
-
-def _timestamp_to_date(timestamp: str):
- return datetime.datetime.strptime(timestamp, "%Y-%m-%d")
-
-
-def _date_to_timestamp(date):
- return datetime.datetime.strftime(date, "%Y-%m-%d")
-
-
-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)
- return (next_date, row.name, row.interval)
-
-
-def _is_this_week(processed_row):
- next_date = processed_row[0]
- now = datetime.datetime.now()
- return (next_date - now) < datetime.timedelta(weeks=1)
-
-
-def filter_only_this_weeks_rows(rows: list[SheetsRow]):
- processed_rows = map(_process_row, rows)
- return filter(_is_this_week, processed_rows)