Really fix 2050c0b7 issue

This commit is contained in:
Raphael Michel
2017-07-16 19:37:18 +02:00
parent 8afff29cd4
commit 1be92f5078
3 changed files with 40 additions and 2 deletions

View File

@@ -33,6 +33,27 @@ class RelativeDateWrapper:
def __init__(self, data: Union[datetime.datetime, RelativeDate]):
self.data = data
def date(self, event) -> datetime.datetime:
from .models import SubEvent
if isinstance(self.data, datetime.date):
return self.data
elif isinstance(self.data, datetime.datetime):
return self.data.date()
else:
tz = pytz.timezone(event.settings.timezone)
if isinstance(event, SubEvent):
base_date = (
getattr(event, self.data.base_date_name)
or getattr(event.event, self.data.base_date_name)
or event.date_from
)
else:
base_date = getattr(event, self.data.base_date_name) or event.date_from
new_date = base_date.astimezone(tz) - datetime.timedelta(days=self.data.days_before)
return new_date.date()
def datetime(self, event) -> datetime.datetime:
from .models import SubEvent