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