lpdb_python.defs

Data type wrappers for data from LPDB queries.

   1"""
   2Data type wrappers for data from LPDB queries.
   3"""
   4
   5import datetime
   6import json
   7
   8from enum import StrEnum
   9from functools import lru_cache
  10from typing import Any, Optional, Union
  11
  12type Number = Union[int, float]
  13
  14__all__ = [
  15    "OpponentType",
  16    "Broadcasters",
  17    "Company",
  18    "Datapoint",
  19    "ExternalMediaLink",
  20    "Match",
  21    "MatchGame",
  22    "MatchOpponent",
  23    "Placement",
  24    "Player",
  25    "Series",
  26    "SquadPlayer",
  27    "StandingsEntry",
  28    "StandingsTable",
  29    "Team",
  30    "Tournament",
  31    "Transfer",
  32    "TeamTemplate",
  33]
  34
  35
  36@lru_cache
  37def _parseIsoDate(date_str: str) -> Optional[datetime.date]:
  38    try:
  39        return datetime.date.fromisoformat(date_str)
  40    except ValueError:
  41        return None
  42
  43
  44@lru_cache
  45def _parseIsoDateTime(datetime_str: str) -> Optional[datetime.datetime]:
  46    try:
  47        return datetime.datetime.fromisoformat(datetime_str).replace(
  48            tzinfo=datetime.UTC
  49        )
  50    except ValueError:
  51        return None
  52
  53
  54class OpponentType(StrEnum):
  55    """
  56    Enum that defines all valid opponent types in LPDB.
  57    """
  58
  59    team = "team"
  60    solo = "solo"
  61    duo = "duo"
  62    trio = "trio"
  63    quad = "quad"
  64    literal = "literal"
  65
  66
  67class LpdbBaseData:
  68    """
  69    Base class of all LPDB data
  70    """
  71
  72    __raw: dict[str, Any]
  73    """
  74    Raw data from LPDB in Python dict form
  75    """
  76
  77    def __init__(self, raw: dict[str, Any]):
  78        self.__raw = raw.copy()
  79
  80    def _rawGet(self, key: str):
  81        """
  82        Gets the value from LPDB data.
  83
  84        :param key: the key
  85
  86        :return: the value associated with the key, returns `None` if the key does not exist or the value is an empty string
  87        """
  88        value = self.__raw.get(key)
  89        if value == "":
  90            return None
  91        return value
  92
  93    def __repr__(self):
  94        return repr(self.__raw)
  95
  96
  97class LpdbBaseResponseData(LpdbBaseData):
  98    """
  99    Base class of all LPDB response data
 100    """
 101
 102    @property
 103    def pageid(self) -> int:
 104        return self._rawGet("pageid")
 105
 106    @property
 107    def pagename(self) -> str:
 108        return self._rawGet("pagename")
 109
 110    @property
 111    def namespace(self) -> int:
 112        return self._rawGet("namespace")
 113
 114    @property
 115    def objectname(self) -> str:
 116        return self._rawGet("objectname")
 117
 118    @property
 119    def extradata(self) -> Optional[dict[str, Any]]:
 120        return self._rawGet("extradata")
 121
 122    @property
 123    def wiki(self) -> str:
 124        return self._rawGet("wiki")
 125
 126
 127class Broadcasters(LpdbBaseResponseData):
 128    """
 129    Broadcaster data from LPDB.
 130    """
 131
 132    @property
 133    def id(self) -> str:
 134        return self._rawGet("id")
 135
 136    @property
 137    def name(self) -> str:
 138        return self._rawGet("name")
 139
 140    @property
 141    def page(self) -> str:
 142        return self._rawGet("page")
 143
 144    @property
 145    def position(self) -> str:
 146        return self._rawGet("position")
 147
 148    @property
 149    def language(self) -> str:
 150        return self._rawGet("language")
 151
 152    @property
 153    def flag(self) -> str:
 154        return self._rawGet("flag")
 155
 156    @property
 157    def weight(self) -> float:
 158        return self._rawGet("weight")
 159
 160    @property
 161    def date(self) -> Optional[datetime.date]:
 162        return _parseIsoDate(self._rawGet("date"))
 163
 164    @property
 165    def parent(self) -> str:
 166        return self._rawGet("parent")
 167
 168
 169class Company(LpdbBaseResponseData):
 170    """
 171    Company data from LPDB.
 172    """
 173
 174    @property
 175    def name(self) -> str:
 176        return self._rawGet("name")
 177
 178    @property
 179    def image(self) -> str:
 180        return self._rawGet("image")
 181
 182    @property
 183    def imageurl(self) -> str:
 184        return self._rawGet("imageurl")
 185
 186    @property
 187    def imagedark(self) -> str:
 188        return self._rawGet("imagedark")
 189
 190    @property
 191    def imagedarkurl(self) -> str:
 192        return self._rawGet("imagedarkurl")
 193
 194    @property
 195    def locations(self) -> list:
 196        return self._rawGet("locations")
 197
 198    @property
 199    def parentcompany(self) -> str:
 200        return self._rawGet("parentcompany")
 201
 202    @property
 203    def sistercompany(self) -> str:
 204        return self._rawGet("sistercompany")
 205
 206    @property
 207    def industry(self) -> str:
 208        return self._rawGet("industry")
 209
 210    @property
 211    def foundeddate(self) -> Optional[datetime.datetime]:
 212        return _parseIsoDateTime(self._rawGet("foundeddate"))
 213
 214    @property
 215    def defunctdate(self) -> Optional[datetime.datetime]:
 216        return _parseIsoDateTime(self._rawGet("defunctdate"))
 217
 218    @property
 219    def defunctfate(self) -> str:
 220        return self._rawGet("defunctfate")
 221
 222    @property
 223    def links(self) -> dict[str, Any]:
 224        return self._rawGet("links")
 225
 226
 227class Datapoint(LpdbBaseResponseData):
 228    """
 229    Generic datapoint from LPDB.
 230    """
 231
 232    @property
 233    def type(self) -> str:
 234        return self._rawGet("type")
 235
 236    @property
 237    def name(self) -> str:
 238        return self._rawGet("name")
 239
 240    @property
 241    def information(self) -> str:
 242        return self._rawGet("information")
 243
 244    @property
 245    def imageurl(self) -> str:
 246        return self._rawGet("imageurl")
 247
 248    @property
 249    def imagedark(self) -> str:
 250        return self._rawGet("imagedark")
 251
 252    @property
 253    def imagedarkurl(self) -> str:
 254        return self._rawGet("imagedarkurl")
 255
 256    @property
 257    def date(self) -> Optional[datetime.datetime]:
 258        return _parseIsoDateTime(self._rawGet("date"))
 259
 260
 261class ExternalMediaLink(LpdbBaseResponseData):
 262    """
 263    External media link from LPDB.
 264    """
 265
 266    @property
 267    def title(self) -> str:
 268        return self._rawGet("title")
 269
 270    @property
 271    def translatedtitle(self) -> str:
 272        return self._rawGet("translatedtitle")
 273
 274    @property
 275    def link(self) -> str:
 276        return self._rawGet("link")
 277
 278    @property
 279    def date(self) -> Optional[datetime.date]:
 280        return _parseIsoDate(self._rawGet("date"))
 281
 282    @property
 283    def authors(self) -> dict[str, str]:
 284        return self._rawGet("authors")
 285
 286    @property
 287    def language(self) -> str:
 288        return self._rawGet("language")
 289
 290    @property
 291    def publisher(self) -> str:
 292        return self._rawGet("publisher")
 293
 294    @property
 295    def type(self) -> str:
 296        return self._rawGet("type")
 297
 298
 299class Match(LpdbBaseResponseData):
 300    """
 301    Match data from LPDB.
 302    """
 303
 304    @property
 305    def match2id(self) -> str:
 306        return self._rawGet("match2id")
 307
 308    @property
 309    def match2bracketid(self) -> str:
 310        return self._rawGet("match2bracketid")
 311
 312    @property
 313    def status(self) -> str:
 314        return self._rawGet("status")
 315
 316    @property
 317    def winner(self) -> str:
 318        return self._rawGet("winner")
 319
 320    @property
 321    def walkover(self) -> str:
 322        return self._rawGet("walkover")
 323
 324    @property
 325    def resulttype(self) -> str:
 326        return self._rawGet("resulttype")
 327
 328    @property
 329    def finished(self) -> bool:
 330        return bool(self._rawGet("finished"))
 331
 332    @property
 333    def mode(self) -> str:
 334        return self._rawGet("mode")
 335
 336    @property
 337    def type(self) -> str:
 338        return self._rawGet("type")
 339
 340    @property
 341    def section(self) -> str:
 342        return self._rawGet("section")
 343
 344    @property
 345    def game(self) -> str:
 346        return self._rawGet("game")
 347
 348    @property
 349    def patch(self) -> str:
 350        return self._rawGet("patch")
 351
 352    @property
 353    def links(self) -> dict[str, Any]:
 354        return self._rawGet("links")
 355
 356    @property
 357    def bestof(self) -> Optional[int]:
 358        return self._rawGet("bestof")
 359
 360    @property
 361    def date(self) -> Optional[datetime.datetime]:
 362        parsed = _parseIsoDateTime(self._rawGet("date"))
 363        if not self.dateexact:
 364            return parsed
 365        elif self.timezone is not None:
 366            return parsed.astimezone(tz=self.timezone)
 367        return parsed
 368
 369    @property
 370    def dateexact(self) -> bool:
 371        return bool(self._rawGet("dateexact"))
 372
 373    @property
 374    def timezone(self) -> Optional[datetime.timezone]:
 375        """
 376        Timezone information stored in this match.
 377
 378        The `timezone` property from this property does not support IANA time zones.
 379        """
 380        if not self.dateexact:
 381            return None
 382        elif self.extradata is None:
 383            return None
 384        offset: str = self.extradata.get("timezoneoffset")
 385        if offset is None:
 386            return None
 387        sliced_offset = offset.split(":")
 388        offset_delta = datetime.timedelta(
 389            hours=int(sliced_offset[0]), minutes=int(sliced_offset[1])
 390        )
 391        return datetime.timezone(offset_delta, name=self.extradata.get("timezoneid"))
 392
 393    @property
 394    def stream(self) -> dict[str, Any]:
 395        return self._rawGet("stream")
 396
 397    @property
 398    def vod(self) -> str:
 399        return self._rawGet("vod")
 400
 401    @property
 402    def tournament(self) -> str:
 403        return self._rawGet("tournament")
 404
 405    @property
 406    def parent(self) -> str:
 407        return self._rawGet("parent")
 408
 409    @property
 410    def tickername(self) -> str:
 411        return self._rawGet("tickername")
 412
 413    @property
 414    def shortname(self) -> str:
 415        return self._rawGet("shortname")
 416
 417    @property
 418    def series(self) -> str:
 419        return self._rawGet("series")
 420
 421    @property
 422    def icon(self) -> str:
 423        return self._rawGet("icon")
 424
 425    @property
 426    def iconurl(self) -> str:
 427        return self._rawGet("iconurl")
 428
 429    @property
 430    def icondark(self) -> str:
 431        return self._rawGet("icondark")
 432
 433    @property
 434    def icondarkurl(self) -> str:
 435        return self._rawGet("icondarkurl")
 436
 437    @property
 438    def liquipediatier(self) -> str:
 439        return self._rawGet("liquipediatier")
 440
 441    @property
 442    def liquipediatiertype(self) -> str:
 443        return self._rawGet("liquipediatiertype")
 444
 445    @property
 446    def publishertier(self) -> str:
 447        return self._rawGet("publishertier")
 448
 449    @property
 450    def match2bracketdata(self) -> dict:
 451        return self._rawGet("match2bracketdata")
 452
 453    @property
 454    def match2games(self) -> list["MatchGame"]:
 455        return [
 456            MatchGame(self, match2game) for match2game in self._rawGet("match2games")
 457        ]
 458
 459    @property
 460    def match2opponents(self) -> list["MatchOpponent"]:
 461        return [
 462            MatchOpponent(match2opponent)
 463            for match2opponent in self._rawGet("match2opponents")
 464        ]
 465
 466
 467class MatchGame(LpdbBaseData):
 468    """
 469    Game data stored in a match.
 470    """
 471
 472    _parent: "Match"
 473
 474    def __init__(self, parent: "Match", raw: dict[str, Any]):
 475        super().__init__(raw)
 476        self._parent = parent
 477
 478    @property
 479    def map(self) -> str:
 480        return self._rawGet("map")
 481
 482    @property
 483    def subgroup(self) -> str:
 484        return self._rawGet("subgroup")
 485
 486    @property
 487    def match2gameid(self) -> int:
 488        return self._rawGet("match2gameid")
 489
 490    @property
 491    def scores(self) -> list[Number]:
 492        return self._rawGet("scores")
 493
 494    @property
 495    def opponents(self) -> list[dict]:
 496        return self._rawGet("opponents")
 497
 498    @property
 499    def status(self) -> str:
 500        return self._rawGet("status")
 501
 502    @property
 503    def winner(self) -> str:
 504        return self._rawGet("winner")
 505
 506    @property
 507    def walkover(self):
 508        return self._rawGet("walkover")
 509
 510    @property
 511    def resulttype(self) -> str:
 512        return self._rawGet("resulttype")
 513
 514    @property
 515    def date(self) -> datetime.datetime:
 516        parsed = _parseIsoDateTime(self._rawGet("date"))
 517        if not self.dateexact:
 518            return parsed
 519        return parsed.astimezone(self._parent.timezone)
 520
 521    @property
 522    def dateexact(self) -> bool:
 523        return self.extradata.get("dateexact")
 524
 525    @property
 526    def mode(self) -> str:
 527        return self._rawGet("mode")
 528
 529    @property
 530    def type(self) -> str:
 531        return self._rawGet("type")
 532
 533    @property
 534    def game(self) -> str:
 535        return self._rawGet("game")
 536
 537    @property
 538    def patch(self) -> str:
 539        return self._rawGet("patch")
 540
 541    @property
 542    def vod(self) -> str:
 543        return self._rawGet("vod")
 544
 545    @property
 546    def length(self) -> str:
 547        return self._rawGet("length")
 548
 549    @property
 550    def extradata(self) -> Optional[dict[str, Any]]:
 551        return self._rawGet("extradata")
 552
 553
 554class MatchOpponent(LpdbBaseData):
 555    """
 556    Opponent data stored in a match.
 557    """
 558
 559    @property
 560    def id(self) -> int:
 561        return self._rawGet("id")
 562
 563    @property
 564    def type(self) -> OpponentType:
 565        return OpponentType(self._rawGet("type"))
 566
 567    @property
 568    def name(self) -> str:
 569        return self._rawGet("name")
 570
 571    @property
 572    def template(self) -> Optional[str]:
 573        return self._rawGet("template")
 574
 575    @property
 576    def icon(self) -> str:
 577        return self._rawGet("icon")
 578
 579    @property
 580    def score(self) -> Number:
 581        return self._rawGet("score")
 582
 583    @property
 584    def status(self) -> str:
 585        return self._rawGet("status")
 586
 587    @property
 588    def placement(self) -> int:
 589        return self._rawGet("placement")
 590
 591    @property
 592    def match2players(self) -> list[dict]:
 593        return self._rawGet("match2players")
 594
 595    @property
 596    def teamtemplate(self) -> Optional["TeamTemplate"]:
 597        if self.template is None:
 598            return None
 599        return TeamTemplate(self._rawGet("teamtemplate"))
 600
 601    @property
 602    def extradata(self) -> Optional[dict[str, Any]]:
 603        return self._rawGet("extradata")
 604
 605
 606class Placement(LpdbBaseResponseData):
 607    """
 608    Placement data from LPDB.
 609    """
 610
 611    @property
 612    def tournament(self) -> str:
 613        return self._rawGet("tournament")
 614
 615    @property
 616    def series(self) -> str:
 617        return self._rawGet("series")
 618
 619    @property
 620    def parent(self) -> str:
 621        return self._rawGet("parent")
 622
 623    @property
 624    def imageurl(self) -> str:
 625        return self._rawGet("imageurl")
 626
 627    @property
 628    def imagedarkurl(self) -> str:
 629        return self._rawGet("imagedarkurl")
 630
 631    @property
 632    def startdate(self) -> Optional[datetime.datetime]:
 633        return _parseIsoDateTime(self._rawGet("startdate"))
 634
 635    @property
 636    def date(self) -> Optional[datetime.datetime]:
 637        return _parseIsoDateTime(self._rawGet("date"))
 638
 639    @property
 640    def prizemoney(self) -> Number:
 641        return self._rawGet("placement")
 642
 643    @property
 644    def weight(self) -> Number:
 645        return self._rawGet("weight")
 646
 647    @property
 648    def mode(self) -> str:
 649        return self._rawGet("mode")
 650
 651    @property
 652    def type(self) -> str:
 653        return self._rawGet("type")
 654
 655    @property
 656    def liquipediatier(self) -> str:
 657        return self._rawGet("liquipediatier")
 658
 659    @property
 660    def liquipediatiertype(self) -> str:
 661        return self._rawGet("liquipediatiertype")
 662
 663    @property
 664    def publishertier(self) -> str:
 665        return self._rawGet("publishertier")
 666
 667    @property
 668    def icon(self) -> str:
 669        return self._rawGet("icon")
 670
 671    @property
 672    def iconurl(self) -> str:
 673        return self._rawGet("iconurl")
 674
 675    @property
 676    def icondark(self) -> str:
 677        return self._rawGet("icondark")
 678
 679    @property
 680    def icondarkurl(self) -> str:
 681        return self._rawGet("icondarkurl")
 682
 683    @property
 684    def game(self) -> str:
 685        return self._rawGet("game")
 686
 687    @property
 688    def lastvsdata(self) -> dict:
 689        return self._rawGet("lastvsdata")
 690
 691    @property
 692    def opponentname(self) -> str:
 693        return self._rawGet("opponentname")
 694
 695    @property
 696    def opponenttemplate(self) -> Optional[str]:
 697        return self._rawGet("opponenttemplate")
 698
 699    @property
 700    def opponenttype(self) -> OpponentType:
 701        return OpponentType(self._rawGet("opponenttype"))
 702
 703    @property
 704    def opponentplayers(self) -> dict:
 705        return self._rawGet("opponentplayers")
 706
 707    @property
 708    def qualifier(self) -> str:
 709        return self._rawGet("qualifier")
 710
 711    @property
 712    def qualifierpage(self) -> str:
 713        return self._rawGet("qualifierpage")
 714
 715    @property
 716    def qualifierurl(self) -> str:
 717        return self._rawGet("qualifierurl")
 718
 719
 720class Player(LpdbBaseResponseData):
 721    """
 722    Player data from LPDB.
 723    """
 724
 725    @property
 726    def id(self) -> str:
 727        return self._rawGet("id")
 728
 729    @property
 730    def alternateid(self) -> str:
 731        return self._rawGet("alternateid")
 732
 733    @property
 734    def name(self) -> str:
 735        return self._rawGet("name")
 736
 737    @property
 738    def localizedname(self) -> str:
 739        return self._rawGet("localizedname")
 740
 741    @property
 742    def type(self) -> str:
 743        return self._rawGet("type")
 744
 745    @property
 746    def nationality(self) -> str:
 747        return self._rawGet("nationality")
 748
 749    @property
 750    def nationality2(self) -> str:
 751        return self._rawGet("nationality2")
 752
 753    @property
 754    def nationality3(self) -> str:
 755        return self._rawGet("nationality3")
 756
 757    @property
 758    def region(self) -> str:
 759        return self._rawGet("region")
 760
 761    @property
 762    def birthdate(self) -> Optional[datetime.date]:
 763        return _parseIsoDate(self._rawGet("birthdate"))
 764
 765    @property
 766    def deathdate(self) -> Optional[datetime.date]:
 767        return _parseIsoDate(self._rawGet("deathdate"))
 768
 769    @property
 770    def teampagename(self) -> str:
 771        return self._rawGet("teampagename")
 772
 773    @property
 774    def teamtemplate(self) -> str:
 775        return self._rawGet("teamtemplate")
 776
 777    @property
 778    def links(self) -> dict:
 779        return self._rawGet("links")
 780
 781    @property
 782    def status(self) -> str:
 783        return self._rawGet("status")
 784
 785    @property
 786    def earnings(self) -> Number:
 787        return self._rawGet("earnings")
 788
 789    @property
 790    def earningsbyyear(self) -> dict[str, Number]:
 791        return self._rawGet("earningsbyyear")
 792
 793
 794class Series(LpdbBaseResponseData):
 795    """
 796    Tournament series data from LPDB.
 797    """
 798
 799    @property
 800    def name(self) -> str:
 801        return self._rawGet("name")
 802
 803    @property
 804    def abbreviation(self) -> str:
 805        return self._rawGet("abbreviation")
 806
 807    @property
 808    def image(self) -> str:
 809        return self._rawGet("image")
 810
 811    @property
 812    def imageurl(self) -> str:
 813        return self._rawGet("imageurl")
 814
 815    @property
 816    def imagedark(self) -> str:
 817        return self._rawGet("imagedark")
 818
 819    @property
 820    def imagedarkurl(self) -> str:
 821        return self._rawGet("imagedarkurl")
 822
 823    @property
 824    def icon(self) -> str:
 825        return self._rawGet("icon")
 826
 827    @property
 828    def iconurl(self) -> str:
 829        return self._rawGet("iconurl")
 830
 831    @property
 832    def icondark(self) -> str:
 833        return self._rawGet("icondark")
 834
 835    @property
 836    def icondarkurl(self) -> str:
 837        return self._rawGet("icondarkurl")
 838
 839    @property
 840    def game(self) -> str:
 841        return self._rawGet("game")
 842
 843    @property
 844    def type(self) -> str:
 845        return self._rawGet("type")
 846
 847    @property
 848    def organizers(self) -> dict:
 849        return self._rawGet("organizers")
 850
 851    @property
 852    def locations(self) -> dict:
 853        return self._rawGet("locations")
 854
 855    @property
 856    def prizepool(self) -> Number:
 857        return self._rawGet("prizepool")
 858
 859    @property
 860    def liquipediatier(self) -> str:
 861        return self._rawGet("liquipediatier")
 862
 863    @property
 864    def liquipediatiertype(self) -> str:
 865        return self._rawGet("liquipediatiertype")
 866
 867    @property
 868    def publishertier(self) -> str:
 869        return self._rawGet("publishertier")
 870
 871    @property
 872    def launcheddate(self) -> datetime.date:
 873        return _parseIsoDate(self._rawGet("launcheddate"))
 874
 875    @property
 876    def defunctdate(self) -> datetime.date:
 877        return _parseIsoDate(self._rawGet("defunctdate"))
 878
 879    @property
 880    def defunctfate(self) -> str:
 881        return self._rawGet("defunctfate")
 882
 883    @property
 884    def links(self) -> dict:
 885        return self._rawGet("links")
 886
 887
 888class SquadPlayer(LpdbBaseResponseData):
 889    """
 890    Squad player data from LPDB.
 891    """
 892
 893    @property
 894    def id(self) -> str:
 895        return self._rawGet("id")
 896
 897    @property
 898    def link(self) -> str:
 899        return self._rawGet("link")
 900
 901    @property
 902    def name(self) -> str:
 903        return self._rawGet("name")
 904
 905    @property
 906    def nationality(self) -> str:
 907        return self._rawGet("nationality")
 908
 909    @property
 910    def position(self) -> str:
 911        return self._rawGet("position")
 912
 913    @property
 914    def role(self) -> str:
 915        return self._rawGet("role")
 916
 917    @property
 918    def type(self) -> str:
 919        return self._rawGet("type")
 920
 921    @property
 922    def newteam(self) -> str:
 923        return self._rawGet("newteam")
 924
 925    @property
 926    def teamtemplate(self) -> str:
 927        return self._rawGet("teamtemplate")
 928
 929    @property
 930    def newteamtemplate(self) -> str:
 931        return self._rawGet("newteamtemplate")
 932
 933    @property
 934    def status(self) -> str:
 935        return self._rawGet("status")
 936
 937    @property
 938    def joindate(self) -> datetime.date:
 939        return _parseIsoDate(self._rawGet("joindate"))
 940
 941    @property
 942    def joindateref(self) -> dict:
 943        return self._rawGet("joindateref")
 944
 945    @property
 946    def leavedate(self) -> datetime.date:
 947        return _parseIsoDate(self._rawGet("leavedate"))
 948
 949    @property
 950    def leavedateref(self) -> dict:
 951        return self._rawGet("leavedateref")
 952
 953    @property
 954    def inactivedate(self) -> datetime.date:
 955        return _parseIsoDate(self._rawGet("inactivedate"))
 956
 957    @property
 958    def inactivedateref(self) -> dict:
 959        return self._rawGet("inactivedateref")
 960
 961
 962class StandingsEntry(LpdbBaseResponseData):
 963    """
 964    Standings entry from LPDB.
 965    """
 966
 967    @property
 968    def parent(self) -> str:
 969        return self._rawGet("parent")
 970
 971    @property
 972    def standingsindex(self) -> int:
 973        return self._rawGet("standingsindex")
 974
 975    @property
 976    def opponenttype(self) -> OpponentType:
 977        return OpponentType(self._rawGet("opponenttype"))
 978
 979    @property
 980    def opponentname(self) -> str:
 981        return self._rawGet("opponentname")
 982
 983    @property
 984    def opponenttemplate(self) -> str:
 985        return self._rawGet("opponenttemplate")
 986
 987    @property
 988    def opponentplayers(self) -> dict:
 989        return self._rawGet("opponentplayers")
 990
 991    @property
 992    def placement(self) -> int:
 993        return self._rawGet("placement")
 994
 995    @property
 996    def definitestatus(self) -> str:
 997        return self._rawGet("definitestatus")
 998
 999    @property
1000    def currentstatus(self) -> str:
1001        return self._rawGet("currentstatus")
1002
1003    @property
1004    def placementchange(self) -> int:
1005        return self._rawGet("placementchange")
1006
1007    @property
1008    def scoreboard(self) -> dict:
1009        return self._rawGet("scoreboard")
1010
1011    @property
1012    def roundindex(self) -> int:
1013        return self._rawGet("roundindex")
1014
1015    @property
1016    def slotindex(self) -> dict:
1017        return self._rawGet("slotindex")
1018
1019
1020class StandingsTable(LpdbBaseResponseData):
1021    """
1022    Standings table from LPDB.
1023    """
1024
1025    @property
1026    def parent(self) -> str:
1027        return self._rawGet("parent")
1028
1029    @property
1030    def standingsindex(self) -> int:
1031        return self._rawGet("standingsindex")
1032
1033    @property
1034    def title(self) -> str:
1035        return self._rawGet("title")
1036
1037    @property
1038    def tournament(self) -> str:
1039        return self._rawGet("tournament")
1040
1041    @property
1042    def section(self) -> dict:
1043        return self._rawGet("section")
1044
1045    @property
1046    def type(self) -> int:
1047        return self._rawGet("type")
1048
1049    @property
1050    def matches(self) -> list[str]:
1051        return self._rawGet("matches")
1052
1053    @property
1054    def config(self) -> dict:
1055        return self._rawGet("config")
1056
1057
1058class Team(LpdbBaseResponseData):
1059    """
1060    Team data from LPDB.
1061    """
1062
1063    @property
1064    def name(self) -> str:
1065        return self._rawGet("name")
1066
1067    @property
1068    def locations(self) -> dict:
1069        return self._rawGet("locations")
1070
1071    @property
1072    def region(self) -> str:
1073        return self._rawGet("region")
1074
1075    @property
1076    def logo(self) -> str:
1077        return self._rawGet("logo")
1078
1079    @property
1080    def logourl(self) -> str:
1081        return self._rawGet("logourl")
1082
1083    @property
1084    def logodark(self) -> str:
1085        return self._rawGet("logodark")
1086
1087    @property
1088    def logodarkurl(self) -> str:
1089        return self._rawGet("logodarkurl")
1090
1091    @property
1092    def textlesslogourl(self) -> str:
1093        return self._rawGet("textlesslogourl")
1094
1095    @property
1096    def textlesslogodarkurl(self) -> str:
1097        return self._rawGet("textlesslogodarkurl")
1098
1099    @property
1100    def status(self) -> str:
1101        return self._rawGet("status")
1102
1103    @property
1104    def createdate(self) -> Optional[datetime.date]:
1105        return _parseIsoDate(self._rawGet("createdate"))
1106
1107    @property
1108    def disbanddate(self) -> Optional[datetime.date]:
1109        return _parseIsoDate(self._rawGet("disbanddate"))
1110
1111    @property
1112    def earnings(self) -> Number:
1113        return self._rawGet("earnings")
1114
1115    @property
1116    def earningsbyyear(self) -> dict[str, Number]:
1117        return self._rawGet("earningsbyyear")
1118
1119    @property
1120    def template(self) -> str:
1121        return self._rawGet("template")
1122
1123    @property
1124    def links(self) -> dict:
1125        return self._rawGet("links")
1126
1127
1128class Tournament(LpdbBaseResponseData):
1129    """
1130    Tournament data from LPDB.
1131    """
1132
1133    @property
1134    def name(self) -> str:
1135        return self._rawGet("name")
1136
1137    @property
1138    def shortname(self) -> str:
1139        return self._rawGet("shortname")
1140
1141    @property
1142    def tickername(self) -> str:
1143        return self._rawGet("tickername")
1144
1145    @property
1146    def banner(self) -> str:
1147        return self._rawGet("banner")
1148
1149    @property
1150    def bannerurl(self) -> str:
1151        return self._rawGet("bannerurl")
1152
1153    @property
1154    def bannerdark(self) -> str:
1155        return self._rawGet("bannerdark")
1156
1157    @property
1158    def bannerdarkurl(self) -> str:
1159        return self._rawGet("bannerdarkurl")
1160
1161    @property
1162    def icon(self) -> str:
1163        return self._rawGet("icon")
1164
1165    @property
1166    def iconurl(self) -> str:
1167        return self._rawGet("iconurl")
1168
1169    @property
1170    def icondark(self) -> str:
1171        return self._rawGet("icondark")
1172
1173    @property
1174    def icondarkurl(self) -> str:
1175        return self._rawGet("icondarkurl")
1176
1177    @property
1178    def seriespage(self) -> str:
1179        return self._rawGet("seriespage")
1180
1181    @property
1182    def serieslist(self) -> dict:
1183        return self._rawGet("serieslist")
1184
1185    @property
1186    def previous(self) -> str:
1187        return self._rawGet("previous")
1188
1189    @property
1190    def previous2(self) -> str:
1191        return self._rawGet("previous2")
1192
1193    @property
1194    def next(self) -> str:
1195        return self._rawGet("next")
1196
1197    @property
1198    def next2(self) -> str:
1199        return self._rawGet("next2")
1200
1201    @property
1202    def game(self) -> str:
1203        return self._rawGet("game")
1204
1205    @property
1206    def mode(self) -> str:
1207        return self._rawGet("mode")
1208
1209    @property
1210    def patch(self) -> str:
1211        return self._rawGet("patch")
1212
1213    @property
1214    def endpatch(self) -> str:
1215        return self._rawGet("endpatch")
1216
1217    @property
1218    def type(self) -> str:
1219        return self._rawGet("type")
1220
1221    @property
1222    def organizers(self) -> dict:
1223        return self._rawGet("organizers")
1224
1225    @property
1226    def startdate(self) -> datetime.date:
1227        return _parseIsoDate(self._rawGet("startdate"))
1228
1229    @property
1230    def enddate(self) -> datetime.date:
1231        return _parseIsoDate(self._rawGet("enddate"))
1232
1233    @property
1234    def sortdate(self) -> datetime.date:
1235        return _parseIsoDate(self._rawGet("sortdate"))
1236
1237    @property
1238    def locations(self) -> dict:
1239        return self._rawGet("locations")
1240
1241    @property
1242    def prizepool(self) -> Number:
1243        return self._rawGet("prizepool")
1244
1245    @property
1246    def participantsnumber(self) -> int:
1247        return self._rawGet("participantsnumber")
1248
1249    @property
1250    def liquipediatier(self) -> str:
1251        return self._rawGet("liquipediatier")
1252
1253    @property
1254    def liquipediatiertype(self) -> str:
1255        return self._rawGet("liquipediatiertype")
1256
1257    @property
1258    def publishertier(self) -> str:
1259        return self._rawGet("publishertier")
1260
1261    @property
1262    def status(self) -> dict:
1263        return self._rawGet("status")
1264
1265    @property
1266    def maps(self) -> list[str]:
1267        map_data: Optional[str] = self._rawGet("maps")
1268        if map_data is None:
1269            return None
1270        return map_data.split(";")
1271
1272    @property
1273    def format(self) -> str:
1274        return self._rawGet("format")
1275
1276    @property
1277    def sponsors(self) -> dict:
1278        return json.loads(self._rawGet("sponsors"))
1279
1280
1281class Transfer(LpdbBaseResponseData):
1282    """
1283    Transfer data from LPDB.
1284    """
1285
1286    @property
1287    def player(self) -> str:
1288        return self._rawGet("player")
1289
1290    @property
1291    def nationality(self) -> str:
1292        return self._rawGet("nationality")
1293
1294    @property
1295    def fromteam(self) -> str:
1296        return self._rawGet("fromteam")
1297
1298    @property
1299    def toteam(self) -> str:
1300        return self._rawGet("toteam")
1301
1302    @property
1303    def fromteamtemplate(self) -> str:
1304        return self._rawGet("fromteamtemplate")
1305
1306    @property
1307    def toteamtemplate(self) -> str:
1308        return self._rawGet("toteamtemplate")
1309
1310    @property
1311    def role1(self) -> str:
1312        return self._rawGet("role1")
1313
1314    @property
1315    def role2(self) -> str:
1316        return self._rawGet("role2")
1317
1318    @property
1319    def reference(self) -> dict:
1320        return self._rawGet("reference")
1321
1322    @property
1323    def date(self) -> Optional[datetime.datetime]:
1324        return _parseIsoDateTime(self._rawGet("date"))
1325
1326    @property
1327    def wholeteam(self) -> bool:
1328        return bool(self._rawGet("wholeteam"))
1329
1330
1331class TeamTemplate(LpdbBaseData):
1332    """
1333    Team template from LPDB.
1334    """
1335
1336    @property
1337    def template(self) -> str:
1338        return self._rawGet("template")
1339
1340    @property
1341    def page(self) -> str:
1342        return self._rawGet("page")
1343
1344    @property
1345    def name(self) -> str:
1346        return self._rawGet("name")
1347
1348    @property
1349    def shortname(self) -> str:
1350        return self._rawGet("shortname")
1351
1352    @property
1353    def bracketname(self) -> str:
1354        return self._rawGet("bracketname")
1355
1356    @property
1357    def image(self) -> str:
1358        return self._rawGet("image")
1359
1360    @property
1361    def imageurl(self) -> str:
1362        return self._rawGet("imageurl")
1363
1364    @property
1365    def imagedark(self) -> str:
1366        return self._rawGet("imagedark")
1367
1368    @property
1369    def imagedarkurl(self) -> str:
1370        return self._rawGet("imagedarkurl")
1371
1372    @property
1373    def legacyimage(self) -> str:
1374        return self._rawGet("legacyimage")
1375
1376    @property
1377    def legacyimageurl(self) -> str:
1378        return self._rawGet("legacyimageurl")
1379
1380    @property
1381    def legacyimagedark(self) -> str:
1382        return self._rawGet("legacyimagedark")
1383
1384    @property
1385    def legacyimagedarkurl(self) -> str:
1386        return self._rawGet("legacyimagedarkurl")
class OpponentType(enum.StrEnum):
55class OpponentType(StrEnum):
56    """
57    Enum that defines all valid opponent types in LPDB.
58    """
59
60    team = "team"
61    solo = "solo"
62    duo = "duo"
63    trio = "trio"
64    quad = "quad"
65    literal = "literal"

Enum that defines all valid opponent types in LPDB.

team = <OpponentType.team: 'team'>
solo = <OpponentType.solo: 'solo'>
duo = <OpponentType.duo: 'duo'>
trio = <OpponentType.trio: 'trio'>
quad = <OpponentType.quad: 'quad'>
literal = <OpponentType.literal: 'literal'>
class Broadcasters(LpdbBaseResponseData):
128class Broadcasters(LpdbBaseResponseData):
129    """
130    Broadcaster data from LPDB.
131    """
132
133    @property
134    def id(self) -> str:
135        return self._rawGet("id")
136
137    @property
138    def name(self) -> str:
139        return self._rawGet("name")
140
141    @property
142    def page(self) -> str:
143        return self._rawGet("page")
144
145    @property
146    def position(self) -> str:
147        return self._rawGet("position")
148
149    @property
150    def language(self) -> str:
151        return self._rawGet("language")
152
153    @property
154    def flag(self) -> str:
155        return self._rawGet("flag")
156
157    @property
158    def weight(self) -> float:
159        return self._rawGet("weight")
160
161    @property
162    def date(self) -> Optional[datetime.date]:
163        return _parseIsoDate(self._rawGet("date"))
164
165    @property
166    def parent(self) -> str:
167        return self._rawGet("parent")

Broadcaster data from LPDB.

id: str
133    @property
134    def id(self) -> str:
135        return self._rawGet("id")
name: str
137    @property
138    def name(self) -> str:
139        return self._rawGet("name")
page: str
141    @property
142    def page(self) -> str:
143        return self._rawGet("page")
position: str
145    @property
146    def position(self) -> str:
147        return self._rawGet("position")
language: str
149    @property
150    def language(self) -> str:
151        return self._rawGet("language")
flag: str
153    @property
154    def flag(self) -> str:
155        return self._rawGet("flag")
weight: float
157    @property
158    def weight(self) -> float:
159        return self._rawGet("weight")
date: datetime.date | None
161    @property
162    def date(self) -> Optional[datetime.date]:
163        return _parseIsoDate(self._rawGet("date"))
parent: str
165    @property
166    def parent(self) -> str:
167        return self._rawGet("parent")
class Company(LpdbBaseResponseData):
170class Company(LpdbBaseResponseData):
171    """
172    Company data from LPDB.
173    """
174
175    @property
176    def name(self) -> str:
177        return self._rawGet("name")
178
179    @property
180    def image(self) -> str:
181        return self._rawGet("image")
182
183    @property
184    def imageurl(self) -> str:
185        return self._rawGet("imageurl")
186
187    @property
188    def imagedark(self) -> str:
189        return self._rawGet("imagedark")
190
191    @property
192    def imagedarkurl(self) -> str:
193        return self._rawGet("imagedarkurl")
194
195    @property
196    def locations(self) -> list:
197        return self._rawGet("locations")
198
199    @property
200    def parentcompany(self) -> str:
201        return self._rawGet("parentcompany")
202
203    @property
204    def sistercompany(self) -> str:
205        return self._rawGet("sistercompany")
206
207    @property
208    def industry(self) -> str:
209        return self._rawGet("industry")
210
211    @property
212    def foundeddate(self) -> Optional[datetime.datetime]:
213        return _parseIsoDateTime(self._rawGet("foundeddate"))
214
215    @property
216    def defunctdate(self) -> Optional[datetime.datetime]:
217        return _parseIsoDateTime(self._rawGet("defunctdate"))
218
219    @property
220    def defunctfate(self) -> str:
221        return self._rawGet("defunctfate")
222
223    @property
224    def links(self) -> dict[str, Any]:
225        return self._rawGet("links")

Company data from LPDB.

name: str
175    @property
176    def name(self) -> str:
177        return self._rawGet("name")
image: str
179    @property
180    def image(self) -> str:
181        return self._rawGet("image")
imageurl: str
183    @property
184    def imageurl(self) -> str:
185        return self._rawGet("imageurl")
imagedark: str
187    @property
188    def imagedark(self) -> str:
189        return self._rawGet("imagedark")
imagedarkurl: str
191    @property
192    def imagedarkurl(self) -> str:
193        return self._rawGet("imagedarkurl")
locations: list
195    @property
196    def locations(self) -> list:
197        return self._rawGet("locations")
parentcompany: str
199    @property
200    def parentcompany(self) -> str:
201        return self._rawGet("parentcompany")
sistercompany: str
203    @property
204    def sistercompany(self) -> str:
205        return self._rawGet("sistercompany")
industry: str
207    @property
208    def industry(self) -> str:
209        return self._rawGet("industry")
foundeddate: datetime.datetime | None
211    @property
212    def foundeddate(self) -> Optional[datetime.datetime]:
213        return _parseIsoDateTime(self._rawGet("foundeddate"))
defunctdate: datetime.datetime | None
215    @property
216    def defunctdate(self) -> Optional[datetime.datetime]:
217        return _parseIsoDateTime(self._rawGet("defunctdate"))
defunctfate: str
219    @property
220    def defunctfate(self) -> str:
221        return self._rawGet("defunctfate")
class Datapoint(LpdbBaseResponseData):
228class Datapoint(LpdbBaseResponseData):
229    """
230    Generic datapoint from LPDB.
231    """
232
233    @property
234    def type(self) -> str:
235        return self._rawGet("type")
236
237    @property
238    def name(self) -> str:
239        return self._rawGet("name")
240
241    @property
242    def information(self) -> str:
243        return self._rawGet("information")
244
245    @property
246    def imageurl(self) -> str:
247        return self._rawGet("imageurl")
248
249    @property
250    def imagedark(self) -> str:
251        return self._rawGet("imagedark")
252
253    @property
254    def imagedarkurl(self) -> str:
255        return self._rawGet("imagedarkurl")
256
257    @property
258    def date(self) -> Optional[datetime.datetime]:
259        return _parseIsoDateTime(self._rawGet("date"))

Generic datapoint from LPDB.

type: str
233    @property
234    def type(self) -> str:
235        return self._rawGet("type")
name: str
237    @property
238    def name(self) -> str:
239        return self._rawGet("name")
information: str
241    @property
242    def information(self) -> str:
243        return self._rawGet("information")
imageurl: str
245    @property
246    def imageurl(self) -> str:
247        return self._rawGet("imageurl")
imagedark: str
249    @property
250    def imagedark(self) -> str:
251        return self._rawGet("imagedark")
imagedarkurl: str
253    @property
254    def imagedarkurl(self) -> str:
255        return self._rawGet("imagedarkurl")
date: datetime.datetime | None
257    @property
258    def date(self) -> Optional[datetime.datetime]:
259        return _parseIsoDateTime(self._rawGet("date"))
class Match(LpdbBaseResponseData):
300class Match(LpdbBaseResponseData):
301    """
302    Match data from LPDB.
303    """
304
305    @property
306    def match2id(self) -> str:
307        return self._rawGet("match2id")
308
309    @property
310    def match2bracketid(self) -> str:
311        return self._rawGet("match2bracketid")
312
313    @property
314    def status(self) -> str:
315        return self._rawGet("status")
316
317    @property
318    def winner(self) -> str:
319        return self._rawGet("winner")
320
321    @property
322    def walkover(self) -> str:
323        return self._rawGet("walkover")
324
325    @property
326    def resulttype(self) -> str:
327        return self._rawGet("resulttype")
328
329    @property
330    def finished(self) -> bool:
331        return bool(self._rawGet("finished"))
332
333    @property
334    def mode(self) -> str:
335        return self._rawGet("mode")
336
337    @property
338    def type(self) -> str:
339        return self._rawGet("type")
340
341    @property
342    def section(self) -> str:
343        return self._rawGet("section")
344
345    @property
346    def game(self) -> str:
347        return self._rawGet("game")
348
349    @property
350    def patch(self) -> str:
351        return self._rawGet("patch")
352
353    @property
354    def links(self) -> dict[str, Any]:
355        return self._rawGet("links")
356
357    @property
358    def bestof(self) -> Optional[int]:
359        return self._rawGet("bestof")
360
361    @property
362    def date(self) -> Optional[datetime.datetime]:
363        parsed = _parseIsoDateTime(self._rawGet("date"))
364        if not self.dateexact:
365            return parsed
366        elif self.timezone is not None:
367            return parsed.astimezone(tz=self.timezone)
368        return parsed
369
370    @property
371    def dateexact(self) -> bool:
372        return bool(self._rawGet("dateexact"))
373
374    @property
375    def timezone(self) -> Optional[datetime.timezone]:
376        """
377        Timezone information stored in this match.
378
379        The `timezone` property from this property does not support IANA time zones.
380        """
381        if not self.dateexact:
382            return None
383        elif self.extradata is None:
384            return None
385        offset: str = self.extradata.get("timezoneoffset")
386        if offset is None:
387            return None
388        sliced_offset = offset.split(":")
389        offset_delta = datetime.timedelta(
390            hours=int(sliced_offset[0]), minutes=int(sliced_offset[1])
391        )
392        return datetime.timezone(offset_delta, name=self.extradata.get("timezoneid"))
393
394    @property
395    def stream(self) -> dict[str, Any]:
396        return self._rawGet("stream")
397
398    @property
399    def vod(self) -> str:
400        return self._rawGet("vod")
401
402    @property
403    def tournament(self) -> str:
404        return self._rawGet("tournament")
405
406    @property
407    def parent(self) -> str:
408        return self._rawGet("parent")
409
410    @property
411    def tickername(self) -> str:
412        return self._rawGet("tickername")
413
414    @property
415    def shortname(self) -> str:
416        return self._rawGet("shortname")
417
418    @property
419    def series(self) -> str:
420        return self._rawGet("series")
421
422    @property
423    def icon(self) -> str:
424        return self._rawGet("icon")
425
426    @property
427    def iconurl(self) -> str:
428        return self._rawGet("iconurl")
429
430    @property
431    def icondark(self) -> str:
432        return self._rawGet("icondark")
433
434    @property
435    def icondarkurl(self) -> str:
436        return self._rawGet("icondarkurl")
437
438    @property
439    def liquipediatier(self) -> str:
440        return self._rawGet("liquipediatier")
441
442    @property
443    def liquipediatiertype(self) -> str:
444        return self._rawGet("liquipediatiertype")
445
446    @property
447    def publishertier(self) -> str:
448        return self._rawGet("publishertier")
449
450    @property
451    def match2bracketdata(self) -> dict:
452        return self._rawGet("match2bracketdata")
453
454    @property
455    def match2games(self) -> list["MatchGame"]:
456        return [
457            MatchGame(self, match2game) for match2game in self._rawGet("match2games")
458        ]
459
460    @property
461    def match2opponents(self) -> list["MatchOpponent"]:
462        return [
463            MatchOpponent(match2opponent)
464            for match2opponent in self._rawGet("match2opponents")
465        ]

Match data from LPDB.

match2id: str
305    @property
306    def match2id(self) -> str:
307        return self._rawGet("match2id")
match2bracketid: str
309    @property
310    def match2bracketid(self) -> str:
311        return self._rawGet("match2bracketid")
status: str
313    @property
314    def status(self) -> str:
315        return self._rawGet("status")
winner: str
317    @property
318    def winner(self) -> str:
319        return self._rawGet("winner")
walkover: str
321    @property
322    def walkover(self) -> str:
323        return self._rawGet("walkover")
resulttype: str
325    @property
326    def resulttype(self) -> str:
327        return self._rawGet("resulttype")
finished: bool
329    @property
330    def finished(self) -> bool:
331        return bool(self._rawGet("finished"))
mode: str
333    @property
334    def mode(self) -> str:
335        return self._rawGet("mode")
type: str
337    @property
338    def type(self) -> str:
339        return self._rawGet("type")
section: str
341    @property
342    def section(self) -> str:
343        return self._rawGet("section")
game: str
345    @property
346    def game(self) -> str:
347        return self._rawGet("game")
patch: str
349    @property
350    def patch(self) -> str:
351        return self._rawGet("patch")
bestof: int | None
357    @property
358    def bestof(self) -> Optional[int]:
359        return self._rawGet("bestof")
date: datetime.datetime | None
361    @property
362    def date(self) -> Optional[datetime.datetime]:
363        parsed = _parseIsoDateTime(self._rawGet("date"))
364        if not self.dateexact:
365            return parsed
366        elif self.timezone is not None:
367            return parsed.astimezone(tz=self.timezone)
368        return parsed
dateexact: bool
370    @property
371    def dateexact(self) -> bool:
372        return bool(self._rawGet("dateexact"))
timezone: datetime.timezone | None
374    @property
375    def timezone(self) -> Optional[datetime.timezone]:
376        """
377        Timezone information stored in this match.
378
379        The `timezone` property from this property does not support IANA time zones.
380        """
381        if not self.dateexact:
382            return None
383        elif self.extradata is None:
384            return None
385        offset: str = self.extradata.get("timezoneoffset")
386        if offset is None:
387            return None
388        sliced_offset = offset.split(":")
389        offset_delta = datetime.timedelta(
390            hours=int(sliced_offset[0]), minutes=int(sliced_offset[1])
391        )
392        return datetime.timezone(offset_delta, name=self.extradata.get("timezoneid"))

Timezone information stored in this match.

The timezone property from this property does not support IANA time zones.

stream: dict[str, typing.Any]
394    @property
395    def stream(self) -> dict[str, Any]:
396        return self._rawGet("stream")
vod: str
398    @property
399    def vod(self) -> str:
400        return self._rawGet("vod")
tournament: str
402    @property
403    def tournament(self) -> str:
404        return self._rawGet("tournament")
parent: str
406    @property
407    def parent(self) -> str:
408        return self._rawGet("parent")
tickername: str
410    @property
411    def tickername(self) -> str:
412        return self._rawGet("tickername")
shortname: str
414    @property
415    def shortname(self) -> str:
416        return self._rawGet("shortname")
series: str
418    @property
419    def series(self) -> str:
420        return self._rawGet("series")
icon: str
422    @property
423    def icon(self) -> str:
424        return self._rawGet("icon")
iconurl: str
426    @property
427    def iconurl(self) -> str:
428        return self._rawGet("iconurl")
icondark: str
430    @property
431    def icondark(self) -> str:
432        return self._rawGet("icondark")
icondarkurl: str
434    @property
435    def icondarkurl(self) -> str:
436        return self._rawGet("icondarkurl")
liquipediatier: str
438    @property
439    def liquipediatier(self) -> str:
440        return self._rawGet("liquipediatier")
liquipediatiertype: str
442    @property
443    def liquipediatiertype(self) -> str:
444        return self._rawGet("liquipediatiertype")
publishertier: str
446    @property
447    def publishertier(self) -> str:
448        return self._rawGet("publishertier")
match2bracketdata: dict
450    @property
451    def match2bracketdata(self) -> dict:
452        return self._rawGet("match2bracketdata")
match2games: list[MatchGame]
454    @property
455    def match2games(self) -> list["MatchGame"]:
456        return [
457            MatchGame(self, match2game) for match2game in self._rawGet("match2games")
458        ]
match2opponents: list[MatchOpponent]
460    @property
461    def match2opponents(self) -> list["MatchOpponent"]:
462        return [
463            MatchOpponent(match2opponent)
464            for match2opponent in self._rawGet("match2opponents")
465        ]
class MatchGame(LpdbBaseData):
468class MatchGame(LpdbBaseData):
469    """
470    Game data stored in a match.
471    """
472
473    _parent: "Match"
474
475    def __init__(self, parent: "Match", raw: dict[str, Any]):
476        super().__init__(raw)
477        self._parent = parent
478
479    @property
480    def map(self) -> str:
481        return self._rawGet("map")
482
483    @property
484    def subgroup(self) -> str:
485        return self._rawGet("subgroup")
486
487    @property
488    def match2gameid(self) -> int:
489        return self._rawGet("match2gameid")
490
491    @property
492    def scores(self) -> list[Number]:
493        return self._rawGet("scores")
494
495    @property
496    def opponents(self) -> list[dict]:
497        return self._rawGet("opponents")
498
499    @property
500    def status(self) -> str:
501        return self._rawGet("status")
502
503    @property
504    def winner(self) -> str:
505        return self._rawGet("winner")
506
507    @property
508    def walkover(self):
509        return self._rawGet("walkover")
510
511    @property
512    def resulttype(self) -> str:
513        return self._rawGet("resulttype")
514
515    @property
516    def date(self) -> datetime.datetime:
517        parsed = _parseIsoDateTime(self._rawGet("date"))
518        if not self.dateexact:
519            return parsed
520        return parsed.astimezone(self._parent.timezone)
521
522    @property
523    def dateexact(self) -> bool:
524        return self.extradata.get("dateexact")
525
526    @property
527    def mode(self) -> str:
528        return self._rawGet("mode")
529
530    @property
531    def type(self) -> str:
532        return self._rawGet("type")
533
534    @property
535    def game(self) -> str:
536        return self._rawGet("game")
537
538    @property
539    def patch(self) -> str:
540        return self._rawGet("patch")
541
542    @property
543    def vod(self) -> str:
544        return self._rawGet("vod")
545
546    @property
547    def length(self) -> str:
548        return self._rawGet("length")
549
550    @property
551    def extradata(self) -> Optional[dict[str, Any]]:
552        return self._rawGet("extradata")

Game data stored in a match.

MatchGame(parent: Match, raw: dict[str, typing.Any])
475    def __init__(self, parent: "Match", raw: dict[str, Any]):
476        super().__init__(raw)
477        self._parent = parent
map: str
479    @property
480    def map(self) -> str:
481        return self._rawGet("map")
subgroup: str
483    @property
484    def subgroup(self) -> str:
485        return self._rawGet("subgroup")
match2gameid: int
487    @property
488    def match2gameid(self) -> int:
489        return self._rawGet("match2gameid")
scores: list[Number]
491    @property
492    def scores(self) -> list[Number]:
493        return self._rawGet("scores")
opponents: list[dict]
495    @property
496    def opponents(self) -> list[dict]:
497        return self._rawGet("opponents")
status: str
499    @property
500    def status(self) -> str:
501        return self._rawGet("status")
winner: str
503    @property
504    def winner(self) -> str:
505        return self._rawGet("winner")
walkover
507    @property
508    def walkover(self):
509        return self._rawGet("walkover")
resulttype: str
511    @property
512    def resulttype(self) -> str:
513        return self._rawGet("resulttype")
date: datetime.datetime
515    @property
516    def date(self) -> datetime.datetime:
517        parsed = _parseIsoDateTime(self._rawGet("date"))
518        if not self.dateexact:
519            return parsed
520        return parsed.astimezone(self._parent.timezone)
dateexact: bool
522    @property
523    def dateexact(self) -> bool:
524        return self.extradata.get("dateexact")
mode: str
526    @property
527    def mode(self) -> str:
528        return self._rawGet("mode")
type: str
530    @property
531    def type(self) -> str:
532        return self._rawGet("type")
game: str
534    @property
535    def game(self) -> str:
536        return self._rawGet("game")
patch: str
538    @property
539    def patch(self) -> str:
540        return self._rawGet("patch")
vod: str
542    @property
543    def vod(self) -> str:
544        return self._rawGet("vod")
length: str
546    @property
547    def length(self) -> str:
548        return self._rawGet("length")
extradata: dict[str, Any] | None
550    @property
551    def extradata(self) -> Optional[dict[str, Any]]:
552        return self._rawGet("extradata")
class MatchOpponent(LpdbBaseData):
555class MatchOpponent(LpdbBaseData):
556    """
557    Opponent data stored in a match.
558    """
559
560    @property
561    def id(self) -> int:
562        return self._rawGet("id")
563
564    @property
565    def type(self) -> OpponentType:
566        return OpponentType(self._rawGet("type"))
567
568    @property
569    def name(self) -> str:
570        return self._rawGet("name")
571
572    @property
573    def template(self) -> Optional[str]:
574        return self._rawGet("template")
575
576    @property
577    def icon(self) -> str:
578        return self._rawGet("icon")
579
580    @property
581    def score(self) -> Number:
582        return self._rawGet("score")
583
584    @property
585    def status(self) -> str:
586        return self._rawGet("status")
587
588    @property
589    def placement(self) -> int:
590        return self._rawGet("placement")
591
592    @property
593    def match2players(self) -> list[dict]:
594        return self._rawGet("match2players")
595
596    @property
597    def teamtemplate(self) -> Optional["TeamTemplate"]:
598        if self.template is None:
599            return None
600        return TeamTemplate(self._rawGet("teamtemplate"))
601
602    @property
603    def extradata(self) -> Optional[dict[str, Any]]:
604        return self._rawGet("extradata")

Opponent data stored in a match.

id: int
560    @property
561    def id(self) -> int:
562        return self._rawGet("id")
type: OpponentType
564    @property
565    def type(self) -> OpponentType:
566        return OpponentType(self._rawGet("type"))
name: str
568    @property
569    def name(self) -> str:
570        return self._rawGet("name")
template: str | None
572    @property
573    def template(self) -> Optional[str]:
574        return self._rawGet("template")
icon: str
576    @property
577    def icon(self) -> str:
578        return self._rawGet("icon")
score: lpdb_python.defs.Number
580    @property
581    def score(self) -> Number:
582        return self._rawGet("score")
status: str
584    @property
585    def status(self) -> str:
586        return self._rawGet("status")
placement: int
588    @property
589    def placement(self) -> int:
590        return self._rawGet("placement")
match2players: list[dict]
592    @property
593    def match2players(self) -> list[dict]:
594        return self._rawGet("match2players")
teamtemplate: TeamTemplate | None
596    @property
597    def teamtemplate(self) -> Optional["TeamTemplate"]:
598        if self.template is None:
599            return None
600        return TeamTemplate(self._rawGet("teamtemplate"))
extradata: dict[str, Any] | None
602    @property
603    def extradata(self) -> Optional[dict[str, Any]]:
604        return self._rawGet("extradata")
Inherited Members
LpdbBaseData
LpdbBaseData
class Placement(LpdbBaseResponseData):
607class Placement(LpdbBaseResponseData):
608    """
609    Placement data from LPDB.
610    """
611
612    @property
613    def tournament(self) -> str:
614        return self._rawGet("tournament")
615
616    @property
617    def series(self) -> str:
618        return self._rawGet("series")
619
620    @property
621    def parent(self) -> str:
622        return self._rawGet("parent")
623
624    @property
625    def imageurl(self) -> str:
626        return self._rawGet("imageurl")
627
628    @property
629    def imagedarkurl(self) -> str:
630        return self._rawGet("imagedarkurl")
631
632    @property
633    def startdate(self) -> Optional[datetime.datetime]:
634        return _parseIsoDateTime(self._rawGet("startdate"))
635
636    @property
637    def date(self) -> Optional[datetime.datetime]:
638        return _parseIsoDateTime(self._rawGet("date"))
639
640    @property
641    def prizemoney(self) -> Number:
642        return self._rawGet("placement")
643
644    @property
645    def weight(self) -> Number:
646        return self._rawGet("weight")
647
648    @property
649    def mode(self) -> str:
650        return self._rawGet("mode")
651
652    @property
653    def type(self) -> str:
654        return self._rawGet("type")
655
656    @property
657    def liquipediatier(self) -> str:
658        return self._rawGet("liquipediatier")
659
660    @property
661    def liquipediatiertype(self) -> str:
662        return self._rawGet("liquipediatiertype")
663
664    @property
665    def publishertier(self) -> str:
666        return self._rawGet("publishertier")
667
668    @property
669    def icon(self) -> str:
670        return self._rawGet("icon")
671
672    @property
673    def iconurl(self) -> str:
674        return self._rawGet("iconurl")
675
676    @property
677    def icondark(self) -> str:
678        return self._rawGet("icondark")
679
680    @property
681    def icondarkurl(self) -> str:
682        return self._rawGet("icondarkurl")
683
684    @property
685    def game(self) -> str:
686        return self._rawGet("game")
687
688    @property
689    def lastvsdata(self) -> dict:
690        return self._rawGet("lastvsdata")
691
692    @property
693    def opponentname(self) -> str:
694        return self._rawGet("opponentname")
695
696    @property
697    def opponenttemplate(self) -> Optional[str]:
698        return self._rawGet("opponenttemplate")
699
700    @property
701    def opponenttype(self) -> OpponentType:
702        return OpponentType(self._rawGet("opponenttype"))
703
704    @property
705    def opponentplayers(self) -> dict:
706        return self._rawGet("opponentplayers")
707
708    @property
709    def qualifier(self) -> str:
710        return self._rawGet("qualifier")
711
712    @property
713    def qualifierpage(self) -> str:
714        return self._rawGet("qualifierpage")
715
716    @property
717    def qualifierurl(self) -> str:
718        return self._rawGet("qualifierurl")

Placement data from LPDB.

tournament: str
612    @property
613    def tournament(self) -> str:
614        return self._rawGet("tournament")
series: str
616    @property
617    def series(self) -> str:
618        return self._rawGet("series")
parent: str
620    @property
621    def parent(self) -> str:
622        return self._rawGet("parent")
imageurl: str
624    @property
625    def imageurl(self) -> str:
626        return self._rawGet("imageurl")
imagedarkurl: str
628    @property
629    def imagedarkurl(self) -> str:
630        return self._rawGet("imagedarkurl")
startdate: datetime.datetime | None
632    @property
633    def startdate(self) -> Optional[datetime.datetime]:
634        return _parseIsoDateTime(self._rawGet("startdate"))
date: datetime.datetime | None
636    @property
637    def date(self) -> Optional[datetime.datetime]:
638        return _parseIsoDateTime(self._rawGet("date"))
prizemoney: lpdb_python.defs.Number
640    @property
641    def prizemoney(self) -> Number:
642        return self._rawGet("placement")
weight: lpdb_python.defs.Number
644    @property
645    def weight(self) -> Number:
646        return self._rawGet("weight")
mode: str
648    @property
649    def mode(self) -> str:
650        return self._rawGet("mode")
type: str
652    @property
653    def type(self) -> str:
654        return self._rawGet("type")
liquipediatier: str
656    @property
657    def liquipediatier(self) -> str:
658        return self._rawGet("liquipediatier")
liquipediatiertype: str
660    @property
661    def liquipediatiertype(self) -> str:
662        return self._rawGet("liquipediatiertype")
publishertier: str
664    @property
665    def publishertier(self) -> str:
666        return self._rawGet("publishertier")
icon: str
668    @property
669    def icon(self) -> str:
670        return self._rawGet("icon")
iconurl: str
672    @property
673    def iconurl(self) -> str:
674        return self._rawGet("iconurl")
icondark: str
676    @property
677    def icondark(self) -> str:
678        return self._rawGet("icondark")
icondarkurl: str
680    @property
681    def icondarkurl(self) -> str:
682        return self._rawGet("icondarkurl")
game: str
684    @property
685    def game(self) -> str:
686        return self._rawGet("game")
lastvsdata: dict
688    @property
689    def lastvsdata(self) -> dict:
690        return self._rawGet("lastvsdata")
opponentname: str
692    @property
693    def opponentname(self) -> str:
694        return self._rawGet("opponentname")
opponenttemplate: str | None
696    @property
697    def opponenttemplate(self) -> Optional[str]:
698        return self._rawGet("opponenttemplate")
opponenttype: OpponentType
700    @property
701    def opponenttype(self) -> OpponentType:
702        return OpponentType(self._rawGet("opponenttype"))
opponentplayers: dict
704    @property
705    def opponentplayers(self) -> dict:
706        return self._rawGet("opponentplayers")
qualifier: str
708    @property
709    def qualifier(self) -> str:
710        return self._rawGet("qualifier")
qualifierpage: str
712    @property
713    def qualifierpage(self) -> str:
714        return self._rawGet("qualifierpage")
qualifierurl: str
716    @property
717    def qualifierurl(self) -> str:
718        return self._rawGet("qualifierurl")
class Player(LpdbBaseResponseData):
721class Player(LpdbBaseResponseData):
722    """
723    Player data from LPDB.
724    """
725
726    @property
727    def id(self) -> str:
728        return self._rawGet("id")
729
730    @property
731    def alternateid(self) -> str:
732        return self._rawGet("alternateid")
733
734    @property
735    def name(self) -> str:
736        return self._rawGet("name")
737
738    @property
739    def localizedname(self) -> str:
740        return self._rawGet("localizedname")
741
742    @property
743    def type(self) -> str:
744        return self._rawGet("type")
745
746    @property
747    def nationality(self) -> str:
748        return self._rawGet("nationality")
749
750    @property
751    def nationality2(self) -> str:
752        return self._rawGet("nationality2")
753
754    @property
755    def nationality3(self) -> str:
756        return self._rawGet("nationality3")
757
758    @property
759    def region(self) -> str:
760        return self._rawGet("region")
761
762    @property
763    def birthdate(self) -> Optional[datetime.date]:
764        return _parseIsoDate(self._rawGet("birthdate"))
765
766    @property
767    def deathdate(self) -> Optional[datetime.date]:
768        return _parseIsoDate(self._rawGet("deathdate"))
769
770    @property
771    def teampagename(self) -> str:
772        return self._rawGet("teampagename")
773
774    @property
775    def teamtemplate(self) -> str:
776        return self._rawGet("teamtemplate")
777
778    @property
779    def links(self) -> dict:
780        return self._rawGet("links")
781
782    @property
783    def status(self) -> str:
784        return self._rawGet("status")
785
786    @property
787    def earnings(self) -> Number:
788        return self._rawGet("earnings")
789
790    @property
791    def earningsbyyear(self) -> dict[str, Number]:
792        return self._rawGet("earningsbyyear")

Player data from LPDB.

id: str
726    @property
727    def id(self) -> str:
728        return self._rawGet("id")
alternateid: str
730    @property
731    def alternateid(self) -> str:
732        return self._rawGet("alternateid")
name: str
734    @property
735    def name(self) -> str:
736        return self._rawGet("name")
localizedname: str
738    @property
739    def localizedname(self) -> str:
740        return self._rawGet("localizedname")
type: str
742    @property
743    def type(self) -> str:
744        return self._rawGet("type")
nationality: str
746    @property
747    def nationality(self) -> str:
748        return self._rawGet("nationality")
nationality2: str
750    @property
751    def nationality2(self) -> str:
752        return self._rawGet("nationality2")
nationality3: str
754    @property
755    def nationality3(self) -> str:
756        return self._rawGet("nationality3")
region: str
758    @property
759    def region(self) -> str:
760        return self._rawGet("region")
birthdate: datetime.date | None
762    @property
763    def birthdate(self) -> Optional[datetime.date]:
764        return _parseIsoDate(self._rawGet("birthdate"))
deathdate: datetime.date | None
766    @property
767    def deathdate(self) -> Optional[datetime.date]:
768        return _parseIsoDate(self._rawGet("deathdate"))
teampagename: str
770    @property
771    def teampagename(self) -> str:
772        return self._rawGet("teampagename")
teamtemplate: str
774    @property
775    def teamtemplate(self) -> str:
776        return self._rawGet("teamtemplate")
status: str
782    @property
783    def status(self) -> str:
784        return self._rawGet("status")
earnings: lpdb_python.defs.Number
786    @property
787    def earnings(self) -> Number:
788        return self._rawGet("earnings")
earningsbyyear: dict[str, Number]
790    @property
791    def earningsbyyear(self) -> dict[str, Number]:
792        return self._rawGet("earningsbyyear")
class Series(LpdbBaseResponseData):
795class Series(LpdbBaseResponseData):
796    """
797    Tournament series data from LPDB.
798    """
799
800    @property
801    def name(self) -> str:
802        return self._rawGet("name")
803
804    @property
805    def abbreviation(self) -> str:
806        return self._rawGet("abbreviation")
807
808    @property
809    def image(self) -> str:
810        return self._rawGet("image")
811
812    @property
813    def imageurl(self) -> str:
814        return self._rawGet("imageurl")
815
816    @property
817    def imagedark(self) -> str:
818        return self._rawGet("imagedark")
819
820    @property
821    def imagedarkurl(self) -> str:
822        return self._rawGet("imagedarkurl")
823
824    @property
825    def icon(self) -> str:
826        return self._rawGet("icon")
827
828    @property
829    def iconurl(self) -> str:
830        return self._rawGet("iconurl")
831
832    @property
833    def icondark(self) -> str:
834        return self._rawGet("icondark")
835
836    @property
837    def icondarkurl(self) -> str:
838        return self._rawGet("icondarkurl")
839
840    @property
841    def game(self) -> str:
842        return self._rawGet("game")
843
844    @property
845    def type(self) -> str:
846        return self._rawGet("type")
847
848    @property
849    def organizers(self) -> dict:
850        return self._rawGet("organizers")
851
852    @property
853    def locations(self) -> dict:
854        return self._rawGet("locations")
855
856    @property
857    def prizepool(self) -> Number:
858        return self._rawGet("prizepool")
859
860    @property
861    def liquipediatier(self) -> str:
862        return self._rawGet("liquipediatier")
863
864    @property
865    def liquipediatiertype(self) -> str:
866        return self._rawGet("liquipediatiertype")
867
868    @property
869    def publishertier(self) -> str:
870        return self._rawGet("publishertier")
871
872    @property
873    def launcheddate(self) -> datetime.date:
874        return _parseIsoDate(self._rawGet("launcheddate"))
875
876    @property
877    def defunctdate(self) -> datetime.date:
878        return _parseIsoDate(self._rawGet("defunctdate"))
879
880    @property
881    def defunctfate(self) -> str:
882        return self._rawGet("defunctfate")
883
884    @property
885    def links(self) -> dict:
886        return self._rawGet("links")

Tournament series data from LPDB.

name: str
800    @property
801    def name(self) -> str:
802        return self._rawGet("name")
abbreviation: str
804    @property
805    def abbreviation(self) -> str:
806        return self._rawGet("abbreviation")
image: str
808    @property
809    def image(self) -> str:
810        return self._rawGet("image")
imageurl: str
812    @property
813    def imageurl(self) -> str:
814        return self._rawGet("imageurl")
imagedark: str
816    @property
817    def imagedark(self) -> str:
818        return self._rawGet("imagedark")
imagedarkurl: str
820    @property
821    def imagedarkurl(self) -> str:
822        return self._rawGet("imagedarkurl")
icon: str
824    @property
825    def icon(self) -> str:
826        return self._rawGet("icon")
iconurl: str
828    @property
829    def iconurl(self) -> str:
830        return self._rawGet("iconurl")
icondark: str
832    @property
833    def icondark(self) -> str:
834        return self._rawGet("icondark")
icondarkurl: str
836    @property
837    def icondarkurl(self) -> str:
838        return self._rawGet("icondarkurl")
game: str
840    @property
841    def game(self) -> str:
842        return self._rawGet("game")
type: str
844    @property
845    def type(self) -> str:
846        return self._rawGet("type")
organizers: dict
848    @property
849    def organizers(self) -> dict:
850        return self._rawGet("organizers")
locations: dict
852    @property
853    def locations(self) -> dict:
854        return self._rawGet("locations")
prizepool: lpdb_python.defs.Number
856    @property
857    def prizepool(self) -> Number:
858        return self._rawGet("prizepool")
liquipediatier: str
860    @property
861    def liquipediatier(self) -> str:
862        return self._rawGet("liquipediatier")
liquipediatiertype: str
864    @property
865    def liquipediatiertype(self) -> str:
866        return self._rawGet("liquipediatiertype")
publishertier: str
868    @property
869    def publishertier(self) -> str:
870        return self._rawGet("publishertier")
launcheddate: datetime.date
872    @property
873    def launcheddate(self) -> datetime.date:
874        return _parseIsoDate(self._rawGet("launcheddate"))
defunctdate: datetime.date
876    @property
877    def defunctdate(self) -> datetime.date:
878        return _parseIsoDate(self._rawGet("defunctdate"))
defunctfate: str
880    @property
881    def defunctfate(self) -> str:
882        return self._rawGet("defunctfate")
class SquadPlayer(LpdbBaseResponseData):
889class SquadPlayer(LpdbBaseResponseData):
890    """
891    Squad player data from LPDB.
892    """
893
894    @property
895    def id(self) -> str:
896        return self._rawGet("id")
897
898    @property
899    def link(self) -> str:
900        return self._rawGet("link")
901
902    @property
903    def name(self) -> str:
904        return self._rawGet("name")
905
906    @property
907    def nationality(self) -> str:
908        return self._rawGet("nationality")
909
910    @property
911    def position(self) -> str:
912        return self._rawGet("position")
913
914    @property
915    def role(self) -> str:
916        return self._rawGet("role")
917
918    @property
919    def type(self) -> str:
920        return self._rawGet("type")
921
922    @property
923    def newteam(self) -> str:
924        return self._rawGet("newteam")
925
926    @property
927    def teamtemplate(self) -> str:
928        return self._rawGet("teamtemplate")
929
930    @property
931    def newteamtemplate(self) -> str:
932        return self._rawGet("newteamtemplate")
933
934    @property
935    def status(self) -> str:
936        return self._rawGet("status")
937
938    @property
939    def joindate(self) -> datetime.date:
940        return _parseIsoDate(self._rawGet("joindate"))
941
942    @property
943    def joindateref(self) -> dict:
944        return self._rawGet("joindateref")
945
946    @property
947    def leavedate(self) -> datetime.date:
948        return _parseIsoDate(self._rawGet("leavedate"))
949
950    @property
951    def leavedateref(self) -> dict:
952        return self._rawGet("leavedateref")
953
954    @property
955    def inactivedate(self) -> datetime.date:
956        return _parseIsoDate(self._rawGet("inactivedate"))
957
958    @property
959    def inactivedateref(self) -> dict:
960        return self._rawGet("inactivedateref")

Squad player data from LPDB.

id: str
894    @property
895    def id(self) -> str:
896        return self._rawGet("id")
name: str
902    @property
903    def name(self) -> str:
904        return self._rawGet("name")
nationality: str
906    @property
907    def nationality(self) -> str:
908        return self._rawGet("nationality")
position: str
910    @property
911    def position(self) -> str:
912        return self._rawGet("position")
role: str
914    @property
915    def role(self) -> str:
916        return self._rawGet("role")
type: str
918    @property
919    def type(self) -> str:
920        return self._rawGet("type")
newteam: str
922    @property
923    def newteam(self) -> str:
924        return self._rawGet("newteam")
teamtemplate: str
926    @property
927    def teamtemplate(self) -> str:
928        return self._rawGet("teamtemplate")
newteamtemplate: str
930    @property
931    def newteamtemplate(self) -> str:
932        return self._rawGet("newteamtemplate")
status: str
934    @property
935    def status(self) -> str:
936        return self._rawGet("status")
joindate: datetime.date
938    @property
939    def joindate(self) -> datetime.date:
940        return _parseIsoDate(self._rawGet("joindate"))
joindateref: dict
942    @property
943    def joindateref(self) -> dict:
944        return self._rawGet("joindateref")
leavedate: datetime.date
946    @property
947    def leavedate(self) -> datetime.date:
948        return _parseIsoDate(self._rawGet("leavedate"))
leavedateref: dict
950    @property
951    def leavedateref(self) -> dict:
952        return self._rawGet("leavedateref")
inactivedate: datetime.date
954    @property
955    def inactivedate(self) -> datetime.date:
956        return _parseIsoDate(self._rawGet("inactivedate"))
inactivedateref: dict
958    @property
959    def inactivedateref(self) -> dict:
960        return self._rawGet("inactivedateref")
class StandingsEntry(LpdbBaseResponseData):
 963class StandingsEntry(LpdbBaseResponseData):
 964    """
 965    Standings entry from LPDB.
 966    """
 967
 968    @property
 969    def parent(self) -> str:
 970        return self._rawGet("parent")
 971
 972    @property
 973    def standingsindex(self) -> int:
 974        return self._rawGet("standingsindex")
 975
 976    @property
 977    def opponenttype(self) -> OpponentType:
 978        return OpponentType(self._rawGet("opponenttype"))
 979
 980    @property
 981    def opponentname(self) -> str:
 982        return self._rawGet("opponentname")
 983
 984    @property
 985    def opponenttemplate(self) -> str:
 986        return self._rawGet("opponenttemplate")
 987
 988    @property
 989    def opponentplayers(self) -> dict:
 990        return self._rawGet("opponentplayers")
 991
 992    @property
 993    def placement(self) -> int:
 994        return self._rawGet("placement")
 995
 996    @property
 997    def definitestatus(self) -> str:
 998        return self._rawGet("definitestatus")
 999
1000    @property
1001    def currentstatus(self) -> str:
1002        return self._rawGet("currentstatus")
1003
1004    @property
1005    def placementchange(self) -> int:
1006        return self._rawGet("placementchange")
1007
1008    @property
1009    def scoreboard(self) -> dict:
1010        return self._rawGet("scoreboard")
1011
1012    @property
1013    def roundindex(self) -> int:
1014        return self._rawGet("roundindex")
1015
1016    @property
1017    def slotindex(self) -> dict:
1018        return self._rawGet("slotindex")

Standings entry from LPDB.

parent: str
968    @property
969    def parent(self) -> str:
970        return self._rawGet("parent")
standingsindex: int
972    @property
973    def standingsindex(self) -> int:
974        return self._rawGet("standingsindex")
opponenttype: OpponentType
976    @property
977    def opponenttype(self) -> OpponentType:
978        return OpponentType(self._rawGet("opponenttype"))
opponentname: str
980    @property
981    def opponentname(self) -> str:
982        return self._rawGet("opponentname")
opponenttemplate: str
984    @property
985    def opponenttemplate(self) -> str:
986        return self._rawGet("opponenttemplate")
opponentplayers: dict
988    @property
989    def opponentplayers(self) -> dict:
990        return self._rawGet("opponentplayers")
placement: int
992    @property
993    def placement(self) -> int:
994        return self._rawGet("placement")
definitestatus: str
996    @property
997    def definitestatus(self) -> str:
998        return self._rawGet("definitestatus")
currentstatus: str
1000    @property
1001    def currentstatus(self) -> str:
1002        return self._rawGet("currentstatus")
placementchange: int
1004    @property
1005    def placementchange(self) -> int:
1006        return self._rawGet("placementchange")
scoreboard: dict
1008    @property
1009    def scoreboard(self) -> dict:
1010        return self._rawGet("scoreboard")
roundindex: int
1012    @property
1013    def roundindex(self) -> int:
1014        return self._rawGet("roundindex")
slotindex: dict
1016    @property
1017    def slotindex(self) -> dict:
1018        return self._rawGet("slotindex")
class StandingsTable(LpdbBaseResponseData):
1021class StandingsTable(LpdbBaseResponseData):
1022    """
1023    Standings table from LPDB.
1024    """
1025
1026    @property
1027    def parent(self) -> str:
1028        return self._rawGet("parent")
1029
1030    @property
1031    def standingsindex(self) -> int:
1032        return self._rawGet("standingsindex")
1033
1034    @property
1035    def title(self) -> str:
1036        return self._rawGet("title")
1037
1038    @property
1039    def tournament(self) -> str:
1040        return self._rawGet("tournament")
1041
1042    @property
1043    def section(self) -> dict:
1044        return self._rawGet("section")
1045
1046    @property
1047    def type(self) -> int:
1048        return self._rawGet("type")
1049
1050    @property
1051    def matches(self) -> list[str]:
1052        return self._rawGet("matches")
1053
1054    @property
1055    def config(self) -> dict:
1056        return self._rawGet("config")

Standings table from LPDB.

parent: str
1026    @property
1027    def parent(self) -> str:
1028        return self._rawGet("parent")
standingsindex: int
1030    @property
1031    def standingsindex(self) -> int:
1032        return self._rawGet("standingsindex")
title: str
1034    @property
1035    def title(self) -> str:
1036        return self._rawGet("title")
tournament: str
1038    @property
1039    def tournament(self) -> str:
1040        return self._rawGet("tournament")
section: dict
1042    @property
1043    def section(self) -> dict:
1044        return self._rawGet("section")
type: int
1046    @property
1047    def type(self) -> int:
1048        return self._rawGet("type")
matches: list[str]
1050    @property
1051    def matches(self) -> list[str]:
1052        return self._rawGet("matches")
config: dict
1054    @property
1055    def config(self) -> dict:
1056        return self._rawGet("config")
class Team(LpdbBaseResponseData):
1059class Team(LpdbBaseResponseData):
1060    """
1061    Team data from LPDB.
1062    """
1063
1064    @property
1065    def name(self) -> str:
1066        return self._rawGet("name")
1067
1068    @property
1069    def locations(self) -> dict:
1070        return self._rawGet("locations")
1071
1072    @property
1073    def region(self) -> str:
1074        return self._rawGet("region")
1075
1076    @property
1077    def logo(self) -> str:
1078        return self._rawGet("logo")
1079
1080    @property
1081    def logourl(self) -> str:
1082        return self._rawGet("logourl")
1083
1084    @property
1085    def logodark(self) -> str:
1086        return self._rawGet("logodark")
1087
1088    @property
1089    def logodarkurl(self) -> str:
1090        return self._rawGet("logodarkurl")
1091
1092    @property
1093    def textlesslogourl(self) -> str:
1094        return self._rawGet("textlesslogourl")
1095
1096    @property
1097    def textlesslogodarkurl(self) -> str:
1098        return self._rawGet("textlesslogodarkurl")
1099
1100    @property
1101    def status(self) -> str:
1102        return self._rawGet("status")
1103
1104    @property
1105    def createdate(self) -> Optional[datetime.date]:
1106        return _parseIsoDate(self._rawGet("createdate"))
1107
1108    @property
1109    def disbanddate(self) -> Optional[datetime.date]:
1110        return _parseIsoDate(self._rawGet("disbanddate"))
1111
1112    @property
1113    def earnings(self) -> Number:
1114        return self._rawGet("earnings")
1115
1116    @property
1117    def earningsbyyear(self) -> dict[str, Number]:
1118        return self._rawGet("earningsbyyear")
1119
1120    @property
1121    def template(self) -> str:
1122        return self._rawGet("template")
1123
1124    @property
1125    def links(self) -> dict:
1126        return self._rawGet("links")

Team data from LPDB.

name: str
1064    @property
1065    def name(self) -> str:
1066        return self._rawGet("name")
locations: dict
1068    @property
1069    def locations(self) -> dict:
1070        return self._rawGet("locations")
region: str
1072    @property
1073    def region(self) -> str:
1074        return self._rawGet("region")
logourl: str
1080    @property
1081    def logourl(self) -> str:
1082        return self._rawGet("logourl")
logodark: str
1084    @property
1085    def logodark(self) -> str:
1086        return self._rawGet("logodark")
logodarkurl: str
1088    @property
1089    def logodarkurl(self) -> str:
1090        return self._rawGet("logodarkurl")
textlesslogourl: str
1092    @property
1093    def textlesslogourl(self) -> str:
1094        return self._rawGet("textlesslogourl")
textlesslogodarkurl: str
1096    @property
1097    def textlesslogodarkurl(self) -> str:
1098        return self._rawGet("textlesslogodarkurl")
status: str
1100    @property
1101    def status(self) -> str:
1102        return self._rawGet("status")
createdate: datetime.date | None
1104    @property
1105    def createdate(self) -> Optional[datetime.date]:
1106        return _parseIsoDate(self._rawGet("createdate"))
disbanddate: datetime.date | None
1108    @property
1109    def disbanddate(self) -> Optional[datetime.date]:
1110        return _parseIsoDate(self._rawGet("disbanddate"))
earnings: lpdb_python.defs.Number
1112    @property
1113    def earnings(self) -> Number:
1114        return self._rawGet("earnings")
earningsbyyear: dict[str, Number]
1116    @property
1117    def earningsbyyear(self) -> dict[str, Number]:
1118        return self._rawGet("earningsbyyear")
template: str
1120    @property
1121    def template(self) -> str:
1122        return self._rawGet("template")
class Tournament(LpdbBaseResponseData):
1129class Tournament(LpdbBaseResponseData):
1130    """
1131    Tournament data from LPDB.
1132    """
1133
1134    @property
1135    def name(self) -> str:
1136        return self._rawGet("name")
1137
1138    @property
1139    def shortname(self) -> str:
1140        return self._rawGet("shortname")
1141
1142    @property
1143    def tickername(self) -> str:
1144        return self._rawGet("tickername")
1145
1146    @property
1147    def banner(self) -> str:
1148        return self._rawGet("banner")
1149
1150    @property
1151    def bannerurl(self) -> str:
1152        return self._rawGet("bannerurl")
1153
1154    @property
1155    def bannerdark(self) -> str:
1156        return self._rawGet("bannerdark")
1157
1158    @property
1159    def bannerdarkurl(self) -> str:
1160        return self._rawGet("bannerdarkurl")
1161
1162    @property
1163    def icon(self) -> str:
1164        return self._rawGet("icon")
1165
1166    @property
1167    def iconurl(self) -> str:
1168        return self._rawGet("iconurl")
1169
1170    @property
1171    def icondark(self) -> str:
1172        return self._rawGet("icondark")
1173
1174    @property
1175    def icondarkurl(self) -> str:
1176        return self._rawGet("icondarkurl")
1177
1178    @property
1179    def seriespage(self) -> str:
1180        return self._rawGet("seriespage")
1181
1182    @property
1183    def serieslist(self) -> dict:
1184        return self._rawGet("serieslist")
1185
1186    @property
1187    def previous(self) -> str:
1188        return self._rawGet("previous")
1189
1190    @property
1191    def previous2(self) -> str:
1192        return self._rawGet("previous2")
1193
1194    @property
1195    def next(self) -> str:
1196        return self._rawGet("next")
1197
1198    @property
1199    def next2(self) -> str:
1200        return self._rawGet("next2")
1201
1202    @property
1203    def game(self) -> str:
1204        return self._rawGet("game")
1205
1206    @property
1207    def mode(self) -> str:
1208        return self._rawGet("mode")
1209
1210    @property
1211    def patch(self) -> str:
1212        return self._rawGet("patch")
1213
1214    @property
1215    def endpatch(self) -> str:
1216        return self._rawGet("endpatch")
1217
1218    @property
1219    def type(self) -> str:
1220        return self._rawGet("type")
1221
1222    @property
1223    def organizers(self) -> dict:
1224        return self._rawGet("organizers")
1225
1226    @property
1227    def startdate(self) -> datetime.date:
1228        return _parseIsoDate(self._rawGet("startdate"))
1229
1230    @property
1231    def enddate(self) -> datetime.date:
1232        return _parseIsoDate(self._rawGet("enddate"))
1233
1234    @property
1235    def sortdate(self) -> datetime.date:
1236        return _parseIsoDate(self._rawGet("sortdate"))
1237
1238    @property
1239    def locations(self) -> dict:
1240        return self._rawGet("locations")
1241
1242    @property
1243    def prizepool(self) -> Number:
1244        return self._rawGet("prizepool")
1245
1246    @property
1247    def participantsnumber(self) -> int:
1248        return self._rawGet("participantsnumber")
1249
1250    @property
1251    def liquipediatier(self) -> str:
1252        return self._rawGet("liquipediatier")
1253
1254    @property
1255    def liquipediatiertype(self) -> str:
1256        return self._rawGet("liquipediatiertype")
1257
1258    @property
1259    def publishertier(self) -> str:
1260        return self._rawGet("publishertier")
1261
1262    @property
1263    def status(self) -> dict:
1264        return self._rawGet("status")
1265
1266    @property
1267    def maps(self) -> list[str]:
1268        map_data: Optional[str] = self._rawGet("maps")
1269        if map_data is None:
1270            return None
1271        return map_data.split(";")
1272
1273    @property
1274    def format(self) -> str:
1275        return self._rawGet("format")
1276
1277    @property
1278    def sponsors(self) -> dict:
1279        return json.loads(self._rawGet("sponsors"))

Tournament data from LPDB.

name: str
1134    @property
1135    def name(self) -> str:
1136        return self._rawGet("name")
shortname: str
1138    @property
1139    def shortname(self) -> str:
1140        return self._rawGet("shortname")
tickername: str
1142    @property
1143    def tickername(self) -> str:
1144        return self._rawGet("tickername")
banner: str
1146    @property
1147    def banner(self) -> str:
1148        return self._rawGet("banner")
bannerurl: str
1150    @property
1151    def bannerurl(self) -> str:
1152        return self._rawGet("bannerurl")
bannerdark: str
1154    @property
1155    def bannerdark(self) -> str:
1156        return self._rawGet("bannerdark")
bannerdarkurl: str
1158    @property
1159    def bannerdarkurl(self) -> str:
1160        return self._rawGet("bannerdarkurl")
icon: str
1162    @property
1163    def icon(self) -> str:
1164        return self._rawGet("icon")
iconurl: str
1166    @property
1167    def iconurl(self) -> str:
1168        return self._rawGet("iconurl")
icondark: str
1170    @property
1171    def icondark(self) -> str:
1172        return self._rawGet("icondark")
icondarkurl: str
1174    @property
1175    def icondarkurl(self) -> str:
1176        return self._rawGet("icondarkurl")
seriespage: str
1178    @property
1179    def seriespage(self) -> str:
1180        return self._rawGet("seriespage")
serieslist: dict
1182    @property
1183    def serieslist(self) -> dict:
1184        return self._rawGet("serieslist")
previous: str
1186    @property
1187    def previous(self) -> str:
1188        return self._rawGet("previous")
previous2: str
1190    @property
1191    def previous2(self) -> str:
1192        return self._rawGet("previous2")
next: str
1194    @property
1195    def next(self) -> str:
1196        return self._rawGet("next")
next2: str
1198    @property
1199    def next2(self) -> str:
1200        return self._rawGet("next2")
game: str
1202    @property
1203    def game(self) -> str:
1204        return self._rawGet("game")
mode: str
1206    @property
1207    def mode(self) -> str:
1208        return self._rawGet("mode")
patch: str
1210    @property
1211    def patch(self) -> str:
1212        return self._rawGet("patch")
endpatch: str
1214    @property
1215    def endpatch(self) -> str:
1216        return self._rawGet("endpatch")
type: str
1218    @property
1219    def type(self) -> str:
1220        return self._rawGet("type")
organizers: dict
1222    @property
1223    def organizers(self) -> dict:
1224        return self._rawGet("organizers")
startdate: datetime.date
1226    @property
1227    def startdate(self) -> datetime.date:
1228        return _parseIsoDate(self._rawGet("startdate"))
enddate: datetime.date
1230    @property
1231    def enddate(self) -> datetime.date:
1232        return _parseIsoDate(self._rawGet("enddate"))
sortdate: datetime.date
1234    @property
1235    def sortdate(self) -> datetime.date:
1236        return _parseIsoDate(self._rawGet("sortdate"))
locations: dict
1238    @property
1239    def locations(self) -> dict:
1240        return self._rawGet("locations")
prizepool: lpdb_python.defs.Number
1242    @property
1243    def prizepool(self) -> Number:
1244        return self._rawGet("prizepool")
participantsnumber: int
1246    @property
1247    def participantsnumber(self) -> int:
1248        return self._rawGet("participantsnumber")
liquipediatier: str
1250    @property
1251    def liquipediatier(self) -> str:
1252        return self._rawGet("liquipediatier")
liquipediatiertype: str
1254    @property
1255    def liquipediatiertype(self) -> str:
1256        return self._rawGet("liquipediatiertype")
publishertier: str
1258    @property
1259    def publishertier(self) -> str:
1260        return self._rawGet("publishertier")
status: dict
1262    @property
1263    def status(self) -> dict:
1264        return self._rawGet("status")
maps: list[str]
1266    @property
1267    def maps(self) -> list[str]:
1268        map_data: Optional[str] = self._rawGet("maps")
1269        if map_data is None:
1270            return None
1271        return map_data.split(";")
format: str
1273    @property
1274    def format(self) -> str:
1275        return self._rawGet("format")
sponsors: dict
1277    @property
1278    def sponsors(self) -> dict:
1279        return json.loads(self._rawGet("sponsors"))
class Transfer(LpdbBaseResponseData):
1282class Transfer(LpdbBaseResponseData):
1283    """
1284    Transfer data from LPDB.
1285    """
1286
1287    @property
1288    def player(self) -> str:
1289        return self._rawGet("player")
1290
1291    @property
1292    def nationality(self) -> str:
1293        return self._rawGet("nationality")
1294
1295    @property
1296    def fromteam(self) -> str:
1297        return self._rawGet("fromteam")
1298
1299    @property
1300    def toteam(self) -> str:
1301        return self._rawGet("toteam")
1302
1303    @property
1304    def fromteamtemplate(self) -> str:
1305        return self._rawGet("fromteamtemplate")
1306
1307    @property
1308    def toteamtemplate(self) -> str:
1309        return self._rawGet("toteamtemplate")
1310
1311    @property
1312    def role1(self) -> str:
1313        return self._rawGet("role1")
1314
1315    @property
1316    def role2(self) -> str:
1317        return self._rawGet("role2")
1318
1319    @property
1320    def reference(self) -> dict:
1321        return self._rawGet("reference")
1322
1323    @property
1324    def date(self) -> Optional[datetime.datetime]:
1325        return _parseIsoDateTime(self._rawGet("date"))
1326
1327    @property
1328    def wholeteam(self) -> bool:
1329        return bool(self._rawGet("wholeteam"))

Transfer data from LPDB.

player: str
1287    @property
1288    def player(self) -> str:
1289        return self._rawGet("player")
nationality: str
1291    @property
1292    def nationality(self) -> str:
1293        return self._rawGet("nationality")
fromteam: str
1295    @property
1296    def fromteam(self) -> str:
1297        return self._rawGet("fromteam")
toteam: str
1299    @property
1300    def toteam(self) -> str:
1301        return self._rawGet("toteam")
fromteamtemplate: str
1303    @property
1304    def fromteamtemplate(self) -> str:
1305        return self._rawGet("fromteamtemplate")
toteamtemplate: str
1307    @property
1308    def toteamtemplate(self) -> str:
1309        return self._rawGet("toteamtemplate")
role1: str
1311    @property
1312    def role1(self) -> str:
1313        return self._rawGet("role1")
role2: str
1315    @property
1316    def role2(self) -> str:
1317        return self._rawGet("role2")
reference: dict
1319    @property
1320    def reference(self) -> dict:
1321        return self._rawGet("reference")
date: datetime.datetime | None
1323    @property
1324    def date(self) -> Optional[datetime.datetime]:
1325        return _parseIsoDateTime(self._rawGet("date"))
wholeteam: bool
1327    @property
1328    def wholeteam(self) -> bool:
1329        return bool(self._rawGet("wholeteam"))
class TeamTemplate(LpdbBaseData):
1332class TeamTemplate(LpdbBaseData):
1333    """
1334    Team template from LPDB.
1335    """
1336
1337    @property
1338    def template(self) -> str:
1339        return self._rawGet("template")
1340
1341    @property
1342    def page(self) -> str:
1343        return self._rawGet("page")
1344
1345    @property
1346    def name(self) -> str:
1347        return self._rawGet("name")
1348
1349    @property
1350    def shortname(self) -> str:
1351        return self._rawGet("shortname")
1352
1353    @property
1354    def bracketname(self) -> str:
1355        return self._rawGet("bracketname")
1356
1357    @property
1358    def image(self) -> str:
1359        return self._rawGet("image")
1360
1361    @property
1362    def imageurl(self) -> str:
1363        return self._rawGet("imageurl")
1364
1365    @property
1366    def imagedark(self) -> str:
1367        return self._rawGet("imagedark")
1368
1369    @property
1370    def imagedarkurl(self) -> str:
1371        return self._rawGet("imagedarkurl")
1372
1373    @property
1374    def legacyimage(self) -> str:
1375        return self._rawGet("legacyimage")
1376
1377    @property
1378    def legacyimageurl(self) -> str:
1379        return self._rawGet("legacyimageurl")
1380
1381    @property
1382    def legacyimagedark(self) -> str:
1383        return self._rawGet("legacyimagedark")
1384
1385    @property
1386    def legacyimagedarkurl(self) -> str:
1387        return self._rawGet("legacyimagedarkurl")

Team template from LPDB.

template: str
1337    @property
1338    def template(self) -> str:
1339        return self._rawGet("template")
page: str
1341    @property
1342    def page(self) -> str:
1343        return self._rawGet("page")
name: str
1345    @property
1346    def name(self) -> str:
1347        return self._rawGet("name")
shortname: str
1349    @property
1350    def shortname(self) -> str:
1351        return self._rawGet("shortname")
bracketname: str
1353    @property
1354    def bracketname(self) -> str:
1355        return self._rawGet("bracketname")
image: str
1357    @property
1358    def image(self) -> str:
1359        return self._rawGet("image")
imageurl: str
1361    @property
1362    def imageurl(self) -> str:
1363        return self._rawGet("imageurl")
imagedark: str
1365    @property
1366    def imagedark(self) -> str:
1367        return self._rawGet("imagedark")
imagedarkurl: str
1369    @property
1370    def imagedarkurl(self) -> str:
1371        return self._rawGet("imagedarkurl")
legacyimage: str
1373    @property
1374    def legacyimage(self) -> str:
1375        return self._rawGet("legacyimage")
legacyimageurl: str
1377    @property
1378    def legacyimageurl(self) -> str:
1379        return self._rawGet("legacyimageurl")
legacyimagedark: str
1381    @property
1382    def legacyimagedark(self) -> str:
1383        return self._rawGet("legacyimagedark")
legacyimagedarkurl: str
1385    @property
1386    def legacyimagedarkurl(self) -> str:
1387        return self._rawGet("legacyimagedarkurl")
Inherited Members
LpdbBaseData
LpdbBaseData