Source code for chicken_dinner.models.tournament

"""Tournament model."""
from chicken_dinner.models.match import Match


[docs]class Tournament(object): """Tournament model. An object encapsulating metadata about a PUBG tournament. :param pubg: an instance of the class :class:`chicken_dinner.pubgapi.PUBG` :param str tournament_id: a tournament id """ def __init__(self, pubg, tournament_id, created_at=None, shard="pc-tournament"): self._pubg = pubg self._shard = shard self._id = tournament_id self._created_at = created_at self._response = None @property def created_at(self): """The time at which this tournament resource was created.""" return self._created_at @property def data(self): """The data payload of the response.""" return self.response["data"] @property def response(self): """The response for this tournament resource.""" if self._response is None: self._response = self._pubg._core.tournament(self.id) return self._response @property def id(self): """The tournament id.""" return self._id @property def match_ids(self): """The match ids associated with this tournament.""" return [m["id"] for m in self.response["included"]]
[docs] def get_matches(self): """Get a list of match objects for the tournament matches.""" return [Match(self._pubg, match_id, shard=self.shard) for match_id in self.match_ids]
@property def meta(self): """The meta information attached to the response.""" return self.response["meta"] @property def shard(self): """The shard for these tournaments.""" return self._shard @property def url(self): """The URL for this tournaments resource.""" return self.response["links"]["self"]