forked from CGM_Public/pretix_original
add type annotations
This commit is contained in:
@@ -21,7 +21,7 @@
|
|||||||
#
|
#
|
||||||
import datetime
|
import datetime
|
||||||
from collections import namedtuple
|
from collections import namedtuple
|
||||||
from typing import Tuple, Union
|
from typing import Tuple, Union, TYPE_CHECKING
|
||||||
from zoneinfo import ZoneInfo
|
from zoneinfo import ZoneInfo
|
||||||
|
|
||||||
from dateutil import parser
|
from dateutil import parser
|
||||||
@@ -34,6 +34,9 @@ from django.utils.timezone import now
|
|||||||
from django.utils.translation import gettext_lazy as _
|
from django.utils.translation import gettext_lazy as _
|
||||||
from rest_framework import serializers
|
from rest_framework import serializers
|
||||||
|
|
||||||
|
if TYPE_CHECKING:
|
||||||
|
from .models import Event, Order, SubEvent
|
||||||
|
|
||||||
EVENT_CHOICES = (
|
EVENT_CHOICES = (
|
||||||
('date_from', _('Event start')),
|
('date_from', _('Event start')),
|
||||||
('date_to', _('Event end')),
|
('date_to', _('Event end')),
|
||||||
@@ -65,7 +68,7 @@ class RelativeDateWrapper:
|
|||||||
def __init__(self, data: Union[datetime.datetime, RelativeDate]):
|
def __init__(self, data: Union[datetime.datetime, RelativeDate]):
|
||||||
self.data = data
|
self.data = data
|
||||||
|
|
||||||
def _resolve_base_date(self, reference) -> Tuple[datetime.datetime, ZoneInfo]:
|
def _resolve_base_date(self, reference: "Event | Order | SubEvent") -> Tuple[datetime.datetime, ZoneInfo]:
|
||||||
"""
|
"""
|
||||||
|
|
||||||
:param reference:
|
:param reference:
|
||||||
@@ -93,7 +96,7 @@ class RelativeDateWrapper:
|
|||||||
|
|
||||||
return base_date, tz
|
return base_date, tz
|
||||||
|
|
||||||
def date(self, reference) -> datetime.date:
|
def date(self, reference: "datetime.date | datetime.datetime | Event | Order | SubEvent" ) -> datetime.date:
|
||||||
if isinstance(self.data, datetime.datetime):
|
if isinstance(self.data, datetime.datetime):
|
||||||
return self.data.date()
|
return self.data.date()
|
||||||
elif isinstance(self.data, datetime.date):
|
elif isinstance(self.data, datetime.date):
|
||||||
@@ -110,7 +113,7 @@ class RelativeDateWrapper:
|
|||||||
new_date = base_date.astimezone(tz) - datetime.timedelta(days=self.data.days)
|
new_date = base_date.astimezone(tz) - datetime.timedelta(days=self.data.days)
|
||||||
return new_date.date()
|
return new_date.date()
|
||||||
|
|
||||||
def datetime(self, reference) -> datetime.datetime:
|
def datetime(self, reference: "datetime.date | datetime.datetime | Event | Order | SubEvent" ) -> datetime.datetime:
|
||||||
if isinstance(self.data, (datetime.datetime, datetime.date)):
|
if isinstance(self.data, (datetime.datetime, datetime.date)):
|
||||||
return self.data
|
return self.data
|
||||||
else:
|
else:
|
||||||
|
|||||||
Reference in New Issue
Block a user