diff --git a/espncricinfo/match.py b/espncricinfo/match.py index 37d8b33..eba93c8 100644 --- a/espncricinfo/match.py +++ b/espncricinfo/match.py @@ -82,6 +82,12 @@ def __init__(self, match_id): self.close_of_play = self._close_of_play() + def __str__(self): + return self.description + + def __repr__(self): + return (f'{self.__class__.__name__}('f'{self.match_id!r})') + def get_json(self): r = requests.get(self.json_url) if r.status_code == 404: @@ -381,51 +387,51 @@ def _toss_winner_team_id(self): # comms_json methods def _rosters(self): - if self.comms_json: + try: return self.comms_json['props']['pageProps']['data']['content']['teams'] - else: + except: return None def _all_innings(self): - if self.comms_json: + try: return self.comms_json['props']['pageProps']['data']['content']['innings'] - else: + except: return None def _close_of_play(self): - if self.comms_json: + try: return self.comms_json['props']['pageProps']['data']['content']['closePlay'] - else: + except: return None def batsmen(self, innings): - if self.comms_json: + try: return self.comms_json['props']['pageProps']['data']['content']['innings'][str(innings)]['batsmen'] - else: + except: return None def bowlers(self, innings): - if self.comms_json: + try: return self.comms_json['props']['pageProps']['data']['content']['innings'][str(innings)]['bowlers'] - else: + except: return None def did_not_bat(self, innings): - if self.comms_json: + try: return self.comms_json['props']['pageProps']['data']['content']['innings'][str(innings)]['didNotBat'] - else: + except: return None def extras(self, innings): - if self.comms_json: + try: return self.comms_json['props']['pageProps']['data']['content']['innings'][str(innings)]['extras'] - else: + except: return None def fows(self, innings): - if self.comms_json: + try: return self.comms_json['props']['pageProps']['data']['content']['innings'][str(innings)]['fallOfWickets'] - else: + except: return None @staticmethod diff --git a/espncricinfo/summary.py b/espncricinfo/summary.py index 8393a7b..024f6c2 100644 --- a/espncricinfo/summary.py +++ b/espncricinfo/summary.py @@ -19,7 +19,7 @@ def get_html(self): else: return BeautifulSoup(r.text, 'html.parser') - def json(self): + def summary_json(self): try: text = self.html.find_all('script')[13].contents[0] return json.loads(text) @@ -27,7 +27,7 @@ def json(self): return None def _match_ids(self): - matches = [x['id'] for x in self.json['props']['pageProps']['data']['content']['leagueEvents'][0]['matchEvents']] + matches = [x['id'] for x in self.summary_json()['props']['pageProps']['data']['content']['leagueEvents'][0]['matchEvents']] return matches def _build_matches(self): diff --git a/setup.py b/setup.py index b312a1e..1bb892c 100644 --- a/setup.py +++ b/setup.py @@ -4,7 +4,7 @@ long_description = fh.read() setup(name="python-espncricinfo", - version="0.5.6", + version="0.5.7", description="ESPNCricInfo API client", license="MIT", install_requires=["requests", "bs4", "dateparser"],