forked from CGM_Public/pretix_original
Add compat function for date.fromisocalendar for Python 3.6-3.7
This commit is contained in:
9
src/pretix/helpers/compat.py
Normal file
9
src/pretix/helpers/compat.py
Normal file
@@ -0,0 +1,9 @@
|
||||
import datetime
|
||||
import sys
|
||||
|
||||
|
||||
def date_fromisocalendar(isoyear, isoweek, isoday):
|
||||
if sys.version_info < (3, 8):
|
||||
return datetime.datetime.strptime(f'{isoyear}-W{isoweek}-{isoday}', "%G-W%V-%u")
|
||||
else:
|
||||
return datetime.datetime.fromisocalendar(isoyear, isoweek, isoday)
|
||||
@@ -29,6 +29,7 @@ from pretix.base.models.items import (
|
||||
ItemBundle, SubEventItem, SubEventItemVariation,
|
||||
)
|
||||
from pretix.base.services.quotas import QuotaAvailability
|
||||
from pretix.helpers.compat import date_fromisocalendar
|
||||
from pretix.multidomain.urlreverse import eventreverse
|
||||
from pretix.presale.ical import get_ical
|
||||
from pretix.presale.signals import item_description
|
||||
@@ -466,7 +467,7 @@ class EventIndex(EventViewMixin, EventListMixin, CartMixin, TemplateView):
|
||||
) < 2
|
||||
context['days'] = days_for_template(ebd, week)
|
||||
context['weeks'] = [
|
||||
(date.fromisocalendar(self.year, i + 1, 1), date.fromisocalendar(self.year, i + 1, 7))
|
||||
(date_fromisocalendar(self.year, i + 1, 1), date_fromisocalendar(self.year, i + 1, 7))
|
||||
for i in range(53 if date(self.year, 12, 31).isocalendar()[1] == 53 else 52)
|
||||
]
|
||||
context['years'] = range(now().year - 2, now().year + 3)
|
||||
|
||||
@@ -21,6 +21,7 @@ from pretix.base.models import (
|
||||
Event, EventMetaValue, SubEvent, SubEventMetaValue,
|
||||
)
|
||||
from pretix.base.services.quotas import QuotaAvailability
|
||||
from pretix.helpers.compat import date_fromisocalendar
|
||||
from pretix.helpers.daterange import daterange
|
||||
from pretix.helpers.formats.de.formats import WEEK_FORMAT
|
||||
from pretix.multidomain.urlreverse import eventreverse
|
||||
@@ -524,7 +525,7 @@ class WeekCalendarView(OrganizerViewMixin, EventListMixin, TemplateView):
|
||||
|
||||
ctx['days'] = days_for_template(ebd, week)
|
||||
ctx['weeks'] = [
|
||||
(date.fromisocalendar(self.year, i + 1, 1), date.fromisocalendar(self.year, i + 1, 7))
|
||||
(date_fromisocalendar(self.year, i + 1, 1), date_fromisocalendar(self.year, i + 1, 7))
|
||||
for i in range(53 if date(self.year, 12, 31).isocalendar()[1] == 53 else 52)
|
||||
]
|
||||
ctx['years'] = range(now().year - 2, now().year + 3)
|
||||
|
||||
Reference in New Issue
Block a user