From 839a3ac0c316712a2c1ae86e1df91bb9ce23b5a0 Mon Sep 17 00:00:00 2001 From: Dmitry Date: Wed, 23 Feb 2022 13:11:56 +0300 Subject: [PATCH] fix parsing config `start_from` (#82) --- sync_ics2gcal/sync_calendar.py | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/sync_ics2gcal/sync_calendar.py b/sync_ics2gcal/sync_calendar.py index 2e90b6a..aa51571 100644 --- a/sync_ics2gcal/sync_calendar.py +++ b/sync_ics2gcal/sync_calendar.py @@ -1,4 +1,4 @@ -from typing import Dict, Any +from typing import Dict, Any, Union import yaml @@ -13,6 +13,8 @@ from . import ( CalendarSync ) +ConfigDate = Union[str, datetime.datetime] + def load_config() -> Dict[str, Any]: with open('config.yml', 'r', encoding='utf-8') as f: @@ -20,11 +22,13 @@ def load_config() -> Dict[str, Any]: return result -def get_start_date(date_str: str) -> datetime.datetime: - if 'now' == date_str: +def get_start_date(date: ConfigDate) -> datetime.datetime: + if isinstance(date, datetime.datetime): + return date + if 'now' == date: result = datetime.datetime.utcnow() else: - result = dateutil.parser.parse(date_str) + result = dateutil.parser.parse(date) return result