forked from gergely/calendar-social
Fully cover the Gregorian Calendar with tests
Being one of the cornerstones right now, it deserves a lot of tests
This commit is contained in:
@@ -18,24 +18,12 @@
|
||||
"""
|
||||
|
||||
from datetime import datetime, timedelta
|
||||
from functools import wraps
|
||||
|
||||
from flask_babelex import lazy_gettext as _
|
||||
|
||||
from . import CalendarSystem
|
||||
|
||||
|
||||
def to_timestamp(func):
|
||||
"""Decorator that converts the return value of a function from `datetime` to a UNIX timestamp
|
||||
"""
|
||||
|
||||
@wraps(func)
|
||||
def _decorator(*args, **kwargs):
|
||||
return func(*args, **kwargs).timestamp()
|
||||
|
||||
return _decorator
|
||||
|
||||
|
||||
class GregorianCalendar(CalendarSystem):
|
||||
"""Gregorian calendar system for Calendar.social
|
||||
"""
|
||||
@@ -104,7 +92,6 @@ class GregorianCalendar(CalendarSystem):
|
||||
return day_list
|
||||
|
||||
@property
|
||||
@to_timestamp
|
||||
def prev_year(self):
|
||||
"""Returns the timestamp of the same date in the previous year
|
||||
"""
|
||||
@@ -119,7 +106,6 @@ class GregorianCalendar(CalendarSystem):
|
||||
return self.timestamp.replace(year=self.timestamp.year - 1).year
|
||||
|
||||
@property
|
||||
@to_timestamp
|
||||
def prev_month(self):
|
||||
"""Returns the timestamp of the same day in the previous month
|
||||
"""
|
||||
@@ -142,7 +128,6 @@ class GregorianCalendar(CalendarSystem):
|
||||
return self.month_names[timestamp.month - 1]
|
||||
|
||||
@property
|
||||
@to_timestamp
|
||||
def next_month(self):
|
||||
"""Returns the timestamp of the same day in the next month
|
||||
"""
|
||||
@@ -165,7 +150,6 @@ class GregorianCalendar(CalendarSystem):
|
||||
return self.month_names[timestamp.month - 1]
|
||||
|
||||
@property
|
||||
@to_timestamp
|
||||
def next_year(self):
|
||||
"""Returns the timestamp of the same date in the next year
|
||||
"""
|
||||
@@ -198,7 +182,7 @@ class GregorianCalendar(CalendarSystem):
|
||||
|
||||
month_end_timestamp = month_start_timestamp.replace(month=next_month)
|
||||
|
||||
return now >= month_start_timestamp and now < month_end_timestamp
|
||||
return month_start_timestamp <= now < month_end_timestamp
|
||||
|
||||
@staticmethod
|
||||
def day_events(date, user=None):
|
||||
|
Reference in New Issue
Block a user