From d652112c9776407d94df6c1ebd6168471fdfe758 Mon Sep 17 00:00:00 2001 From: Michael Blatherwick Date: Tue, 30 Mar 2021 17:45:21 +0100 Subject: [PATCH] Formatting --- .../call_centre_availability/__init__.py | 36 ++++++++++++++++--- cla_common/constants.py | 1 + 2 files changed, 32 insertions(+), 5 deletions(-) diff --git a/cla_common/call_centre_availability/__init__.py b/cla_common/call_centre_availability/__init__.py index 62310b0..d0ac23c 100644 --- a/cla_common/call_centre_availability/__init__.py +++ b/cla_common/call_centre_availability/__init__.py @@ -174,8 +174,8 @@ def is_empty(self): return not (self.start and self.end) def __nonzero__(self): - # py2 support - return self.__bool__() + # py2 support + return self.__bool__() def __bool__(self): return not self.is_empty() @@ -185,6 +185,12 @@ def __contains__(self, dt): return False return self.start <= dt.time() < self.end + def __repr__(self): + if self.is_empty(): + return "No hours" + return u"{start} - {end}".format(start=self.start, end=self.end) + + NO_HOURS = Hours(None, None) @@ -192,6 +198,7 @@ def date_matcher(date_string): date = datetime.datetime.strptime(date_string, "%Y-%m-%d").date() return lambda dt: dt.date() == date + def day_matcher(day): return lambda dt: dt.strftime("%A") == day @@ -199,14 +206,33 @@ def day_matcher(day): class OpeningHours(object): day_hours = [] - def __init__(self, monday=None, tuesday=None, wednesday=None, thursday=None, friday=None, weekday=NO_HOURS, saturday=NO_HOURS, sunday=NO_HOURS, bank_holiday=NO_HOURS, **kwargs): + def __init__( + self, + monday=None, + tuesday=None, + wednesday=None, + thursday=None, + friday=None, + weekday=NO_HOURS, + saturday=NO_HOURS, + sunday=NO_HOURS, + bank_holiday=NO_HOURS, + **kwargs + ): for date_string, hours in kwargs.iteritems(): self.add_rule(date_matcher(date_string), hours) - self.add_rule(is_boxing_day_2020, NO_HOURS) self.add_rule(on_bank_holiday, bank_holiday) - for day, hours in [("Monday", monday), ("Tuesday", tuesday), ("Wednesday", wednesday), ("Thursday", thursday), ("Friday", friday), ("Saturday", saturday), ("Sunday", sunday)]: + for day, hours in [ + ("Monday", monday), + ("Tuesday", tuesday), + ("Wednesday", wednesday), + ("Thursday", thursday), + ("Friday", friday), + ("Saturday", saturday), + ("Sunday", sunday), + ]: self.add_rule(day_matcher(day), hours) self.add_rule(on_weekday, weekday) diff --git a/cla_common/constants.py b/cla_common/constants.py index 774e201..63fd518 100644 --- a/cla_common/constants.py +++ b/cla_common/constants.py @@ -518,5 +518,6 @@ "weekday": (datetime.time(9, 0), datetime.time(20, 0)), "saturday": (datetime.time(9, 0), datetime.time(12, 30)), "2020-12-24": (datetime.time(9, 0), datetime.time(17, 00)), + "2020-12-26": (None, None), "2020-12-31": (datetime.time(9, 0), datetime.time(17, 00)), }