From e67c09d1173e759c14acf11445c2f1c6b8c233b1 Mon Sep 17 00:00:00 2001 From: Ernesto Rico Schmidt <ernesto@helsinki.at> Date: Wed, 5 Apr 2023 11:05:05 -0400 Subject: [PATCH] Avoid exception when last_date is empty Cleanup getting values from schedule data --- program/services.py | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/program/services.py b/program/services.py index b3ab7770..295a8458 100644 --- a/program/services.py +++ b/program/services.py @@ -339,26 +339,28 @@ def instantiate_upcoming_schedule( is_repetition = data["is_repetition"] - # these may not be present in data + # default is `False` add_business_days_only = ( - data["default_playlist_id"] if "add_business_days_only" in data else False + data["add_business_days_only"] if "add_business_days_only" in data else False ) - add_days_no = data["add_days_no"] if "add_days_no" in data else None - by_weekday = data["by_weekday"] if "by_weekday" in data else None - default_playlist_id = data["default_playlist_id"] if "default_playlist_id" in data else None + + # default is `None` + add_days_no = data.get("add_days_no") + by_weekday = data.get("by_weekday") + default_playlist_id = data.get("default_playlist_id") first_date = parse_date(data["first_date"]) start_time = parse_time(data["start_time"]) end_time = parse_time(data["end_time"]) # last_date may not be present in data - if "last_date" in data: + if data.get("last_date") is not None: last_date = parse_date(data["last_date"]) else: # If last_date was not set, set it to the end of the year or add x days if AUTO_SET_LAST_DATE_TO_END_OF_YEAR: year = timezone.now().year - last_date = parse_date(f"{year}-12-31") + last_date = timezone.datetime(year, 12, 31).date() else: last_date = first_date + timedelta(days=+AUTO_SET_LAST_DATE_TO_DAYS_IN_FUTURE) -- GitLab