22Data type wrappers for data from LPDB queries.
33"""
44
5+ import datetime
56import json
67
7- from datetime import date , datetime , timedelta , timezone , UTC
88from enum import StrEnum
99from functools import lru_cache
1010from typing import Any , Optional , Union
3434
3535
3636@lru_cache
37- def _parseIsoDate (date_str : str ) -> Optional [date ]:
37+ def _parseIsoDate (date_str : str ) -> Optional [datetime . date ]:
3838 try :
39- return date .fromisoformat (date_str )
39+ return datetime . date .fromisoformat (date_str )
4040 except ValueError :
4141 return None
4242
4343
4444@lru_cache
45- def _parseIsoDateTime (datetime_str : str ) -> Optional [datetime ]:
45+ def _parseIsoDateTime (datetime_str : str ) -> Optional [datetime . datetime ]:
4646 try :
47- return datetime .fromisoformat (datetime_str ).replace (tzinfo = UTC )
47+ return datetime .datetime .fromisoformat (datetime_str ).replace (
48+ tzinfo = datetime .UTC
49+ )
4850 except ValueError :
4951 return None
5052
@@ -156,7 +158,7 @@ def weight(self) -> float:
156158 return self ._rawGet ("weight" )
157159
158160 @property
159- def date (self ) -> Optional [date ]:
161+ def date (self ) -> Optional [datetime . date ]:
160162 return _parseIsoDate (self ._rawGet ("date" ))
161163
162164 @property
@@ -206,11 +208,11 @@ def industry(self) -> str:
206208 return self ._rawGet ("industry" )
207209
208210 @property
209- def foundeddate (self ) -> Optional [datetime ]:
211+ def foundeddate (self ) -> Optional [datetime . datetime ]:
210212 return _parseIsoDateTime (self ._rawGet ("foundeddate" ))
211213
212214 @property
213- def defunctdate (self ) -> Optional [datetime ]:
215+ def defunctdate (self ) -> Optional [datetime . datetime ]:
214216 return _parseIsoDateTime (self ._rawGet ("defunctdate" ))
215217
216218 @property
@@ -252,7 +254,7 @@ def imagedarkurl(self) -> str:
252254 return self ._rawGet ("imagedarkurl" )
253255
254256 @property
255- def date (self ) -> Optional [datetime ]:
257+ def date (self ) -> Optional [datetime . datetime ]:
256258 return _parseIsoDateTime (self ._rawGet ("date" ))
257259
258260
@@ -274,7 +276,7 @@ def link(self) -> str:
274276 return self ._rawGet ("link" )
275277
276278 @property
277- def date (self ) -> Optional [date ]:
279+ def date (self ) -> Optional [datetime . date ]:
278280 return _parseIsoDate (self ._rawGet ("date" ))
279281
280282 @property
@@ -356,7 +358,7 @@ def bestof(self) -> Optional[int]:
356358 return self ._rawGet ("bestof" )
357359
358360 @property
359- def date (self ) -> Optional [datetime ]:
361+ def date (self ) -> Optional [datetime . datetime ]:
360362 parsed = _parseIsoDateTime (self ._rawGet ("date" ))
361363 if not self .dateexact :
362364 return parsed
@@ -369,7 +371,7 @@ def dateexact(self) -> bool:
369371 return bool (self ._rawGet ("dateexact" ))
370372
371373 @property
372- def timezone (self ) -> Optional [timezone ]:
374+ def timezone (self ) -> Optional [datetime . timezone ]:
373375 """
374376 Timezone information stored in this match.
375377
@@ -383,10 +385,10 @@ def timezone(self) -> Optional[timezone]:
383385 if offset is None :
384386 return None
385387 sliced_offset = offset .split (":" )
386- offset_delta = timedelta (
388+ offset_delta = datetime . timedelta (
387389 hours = int (sliced_offset [0 ]), minutes = int (sliced_offset [1 ])
388390 )
389- return timezone (offset_delta , name = self .extradata .get ("timezoneid" ))
391+ return datetime . timezone (offset_delta , name = self .extradata .get ("timezoneid" ))
390392
391393 @property
392394 def stream (self ) -> dict [str , Any ]:
@@ -510,7 +512,7 @@ def resulttype(self) -> str:
510512 return self ._rawGet ("resulttype" )
511513
512514 @property
513- def date (self ) -> datetime :
515+ def date (self ) -> datetime . datetime :
514516 parsed = _parseIsoDateTime (self ._rawGet ("date" ))
515517 if not self .dateexact :
516518 return parsed
@@ -627,11 +629,11 @@ def imagedarkurl(self) -> str:
627629 return self ._rawGet ("imagedarkurl" )
628630
629631 @property
630- def startdate (self ) -> Optional [datetime ]:
632+ def startdate (self ) -> Optional [datetime . datetime ]:
631633 return _parseIsoDateTime (self ._rawGet ("startdate" ))
632634
633635 @property
634- def date (self ) -> Optional [datetime ]:
636+ def date (self ) -> Optional [datetime . datetime ]:
635637 return _parseIsoDateTime (self ._rawGet ("date" ))
636638
637639 @property
@@ -757,11 +759,11 @@ def region(self) -> str:
757759 return self ._rawGet ("region" )
758760
759761 @property
760- def birthdate (self ) -> Optional [date ]:
762+ def birthdate (self ) -> Optional [datetime . date ]:
761763 return _parseIsoDate (self ._rawGet ("birthdate" ))
762764
763765 @property
764- def deathdate (self ) -> Optional [date ]:
766+ def deathdate (self ) -> Optional [datetime . date ]:
765767 return _parseIsoDate (self ._rawGet ("deathdate" ))
766768
767769 @property
@@ -867,11 +869,11 @@ def publishertier(self) -> str:
867869 return self ._rawGet ("publishertier" )
868870
869871 @property
870- def launcheddate (self ) -> date :
872+ def launcheddate (self ) -> datetime . date :
871873 return _parseIsoDate (self ._rawGet ("launcheddate" ))
872874
873875 @property
874- def defunctdate (self ) -> date :
876+ def defunctdate (self ) -> datetime . date :
875877 return _parseIsoDate (self ._rawGet ("defunctdate" ))
876878
877879 @property
@@ -933,23 +935,23 @@ def status(self) -> str:
933935 return self ._rawGet ("status" )
934936
935937 @property
936- def joindate (self ) -> date :
938+ def joindate (self ) -> datetime . date :
937939 return _parseIsoDate (self ._rawGet ("joindate" ))
938940
939941 @property
940942 def joindateref (self ) -> dict :
941943 return self ._rawGet ("joindateref" )
942944
943945 @property
944- def leavedate (self ) -> date :
946+ def leavedate (self ) -> datetime . date :
945947 return _parseIsoDate (self ._rawGet ("leavedate" ))
946948
947949 @property
948950 def leavedateref (self ) -> dict :
949951 return self ._rawGet ("leavedateref" )
950952
951953 @property
952- def inactivedate (self ) -> date :
954+ def inactivedate (self ) -> datetime . date :
953955 return _parseIsoDate (self ._rawGet ("inactivedate" ))
954956
955957 @property
@@ -1099,11 +1101,11 @@ def status(self) -> str:
10991101 return self ._rawGet ("status" )
11001102
11011103 @property
1102- def createdate (self ) -> Optional [date ]:
1104+ def createdate (self ) -> Optional [datetime . date ]:
11031105 return _parseIsoDate (self ._rawGet ("createdate" ))
11041106
11051107 @property
1106- def disbanddate (self ) -> Optional [date ]:
1108+ def disbanddate (self ) -> Optional [datetime . date ]:
11071109 return _parseIsoDate (self ._rawGet ("disbanddate" ))
11081110
11091111 @property
@@ -1221,15 +1223,15 @@ def organizers(self) -> dict:
12211223 return self ._rawGet ("organizers" )
12221224
12231225 @property
1224- def startdate (self ) -> date :
1226+ def startdate (self ) -> datetime . date :
12251227 return _parseIsoDate (self ._rawGet ("startdate" ))
12261228
12271229 @property
1228- def enddate (self ) -> date :
1230+ def enddate (self ) -> datetime . date :
12291231 return _parseIsoDate (self ._rawGet ("enddate" ))
12301232
12311233 @property
1232- def sortdate (self ) -> date :
1234+ def sortdate (self ) -> datetime . date :
12331235 return _parseIsoDate (self ._rawGet ("sortdate" ))
12341236
12351237 @property
@@ -1318,7 +1320,7 @@ def reference(self) -> dict:
13181320 return self ._rawGet ("reference" )
13191321
13201322 @property
1321- def date (self ) -> Optional [datetime ]:
1323+ def date (self ) -> Optional [datetime . datetime ]:
13221324 return _parseIsoDateTime (self ._rawGet ("date" ))
13231325
13241326 @property
0 commit comments