1234567891011121314151617181920212223242526272829303132333435363738394041424344 |
- """
- Common code used in multiple modules.
- """
- class weekday(object):
- __slots__ = ["weekday", "n"]
- def __init__(self, weekday, n=None):
- self.weekday = weekday
- self.n = n
- def __call__(self, n):
- if n == self.n:
- return self
- else:
- return self.__class__(self.weekday, n)
- def __eq__(self, other):
- try:
- if self.weekday != other.weekday or self.n != other.n:
- return False
- except AttributeError:
- return False
- return True
- def __hash__(self):
- return hash((
- self.weekday,
- self.n,
- ))
- def __ne__(self, other):
- return not (self == other)
- def __repr__(self):
- s = ("MO", "TU", "WE", "TH", "FR", "SA", "SU")[self.weekday]
- if not self.n:
- return s
- else:
- return "%s(%+d)" % (s, self.n)
- # vim:ts=4:sw=4:et
|