Source code for pybet365.response.in_play_events

"""
Facade for `in_play_events` Delegation

Bet365 API Responses contain 2 common components

Bet365Response object is tasked to parse:

    "success": int
    "results": list

This module provides delegation for `InPlayEventsResponse`

The objects are accessible via dot notation or via `.get(..)`

"""

from typing import List, Union

from pybet365.response.base import Bet365Response, StatsBase


[docs]class InPlayResult(dict): """Result Endpoint `results` array contents access.""" def __init__(self, data: dict): """Constructor for InPlayResult.""" super(InPlayResult, self).__init__(data) @property def type(self) -> str: """Access for `type`.""" return self.get("type")
[docs]class InPlayEventsResponse(Bet365Response): """ Response Object Facade for InPlay Events Endpoint. The object wraps the response and exposes dot notation access The top level accesses for `inplay` endpoint are: "success": int "results": list The `results` object is parsed into `InPlayResult` facades Say you have a parsed response from InPlayEvents Endpoint >>> response_object.results >>> [ ... { ... "type":"CL", ... "CD":"1", ... "FF":"", ... "ID":"1", ... "IT":"OV_1_1_9", ... "NA":"Soccer", ... "OR":"0", ... "PC":"3" ... }, ... ] >>> response_object.results[0].type >>> "67890" """ def __init__(self, data): """Constructor for InPlayEventsResponse.""" super(InPlayEventsResponse, self).__init__(data) self.stats = StatsBase(data) @property def results(self) -> Union[List[InPlayResult], None]: """Access for `results`.""" if not self._results: return None parsed_results = [] for record in self._results: parsed_results.append(InPlayResult(record)) return parsed_results