Skip to content

Commit

Permalink
Formatting
Browse files Browse the repository at this point in the history
  • Loading branch information
exonian committed Mar 30, 2021
1 parent b34ea8d commit d652112
Show file tree
Hide file tree
Showing 2 changed files with 32 additions and 5 deletions.
36 changes: 31 additions & 5 deletions cla_common/call_centre_availability/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -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()
Expand All @@ -185,28 +185,54 @@ 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)


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


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)
Expand Down
1 change: 1 addition & 0 deletions cla_common/constants.py
Original file line number Diff line number Diff line change
Expand Up @@ -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)),
}

0 comments on commit d652112

Please sign in to comment.