Skip to content

Commit 5ec351c

Browse files
authored
Merge pull request #119 from TheFinalJoke/dev
Updating to version 2.2.3
2 parents f8766e6 + a964131 commit 5ec351c

File tree

20 files changed

+372
-295
lines changed

20 files changed

+372
-295
lines changed

src/python/ohmyoled/lib/run.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,7 @@ def run_non_async_request(self, url) -> Response:
6969
return response
7070

7171
async def get_data(self, url, headers: Dict[str, str]={}) -> Dict:
72-
self.logger.debug(f'Getting data with URL {url}')
72+
self.logger.debug(f'Getting data with URL {url}, and headers {headers}')
7373
async with aiohttp.ClientSession() as session:
7474
async with session.get(url, headers=headers) as resp:
7575
data = await resp.json()

src/python/ohmyoled/lib/sports/apisports/baseball/baseball.py

Lines changed: 62 additions & 56 deletions
Original file line numberDiff line numberDiff line change
@@ -38,64 +38,70 @@ async def run(self) -> SportApiResult:
3838
logo = logo_map[self.config['team_logo'].get('name')]
3939
for section, url in self.url_builder(parsed, logo).items():
4040
api_data.update({section: await self.get_data(url, self.headers)})
41+
# Check Data
42+
if api_data["standings"]["errors"] != []:
43+
raise base.SportApiExceedLimit("Api Exceeded the limit")
4144
api_data['sport'] = 'baseball'
42-
schedule = [
43-
base.Game(
44-
team=base.Team(
45-
name=logo.name,
46-
logo=logo,
47-
),
48-
timestamp=datetime.fromtimestamp(game['timestamp']),
49-
status=base.determine_apisports_game_status(
50-
game,
51-
base.Team(
52-
logo.name,
53-
logo=logo
45+
try:
46+
schedule = [
47+
base.Game(
48+
team=base.Team(
49+
name=logo.name,
50+
logo=logo,
51+
),
52+
timestamp=datetime.fromtimestamp(game['timestamp']),
53+
status=base.determine_apisports_game_status(
54+
game,
55+
base.Team(
56+
logo.name,
57+
logo=logo
58+
),
59+
api_data['sport']
60+
)[0],
61+
opposing_team=base.Team(
62+
name=game['teams']['home']['name'],
63+
logo=logo_map[game['teams']['home']['name']],
64+
) if logo.name != game['teams']['home']['name'] else base.Team(
65+
name=game['teams']['away']['name'], logo=logo_map[game['teams']['away']['name']]
5466
),
55-
api_data['sport']
56-
)[0],
57-
opposing_team=base.Team(
58-
name=game['teams']['home']['name'],
59-
logo=logo_map[game['teams']['home']['name']],
60-
) if logo.name != game['teams']['home']['name'] else base.Team(
61-
name=game['teams']['away']['name'], logo=logo_map[game['teams']['away']['name']]
62-
),
63-
result=base.determine_apisports_game_status(
64-
game,
65-
base.Team(
66-
logo.name,
67-
logo=logo
67+
result=base.determine_apisports_game_status(
68+
game,
69+
base.Team(
70+
logo.name,
71+
logo=logo
72+
),
73+
api_data['sport']
74+
)[1],
75+
homeoraway="home" if logo.name == game['teams']['home']['name'] else "away",
76+
score=base.Score(
77+
team=game['scores']['home'] if logo.name == game['teams']['home']['name'] else game['scores']['away'],
78+
opposing_team=game['scores']['home'] if logo.name != game['teams']['home']['name'] else game['scores']['away'],
6879
),
69-
api_data['sport']
70-
)[1],
71-
homeoraway="home" if logo.name == game['teams']['home']['name'] else "away",
72-
score=base.Score(
73-
team=game['scores']['home'] if logo.name == game['teams']['home']['name'] else game['scores']['away'],
74-
opposing_team=game['scores']['home'] if logo.name != game['teams']['home']['name'] else game['scores']['away'],
75-
),
76-
77-
) for game in api_data['next_game']['response']
80+
81+
) for game in api_data['next_game']['response']
82+
]
83+
standings=[
84+
base.Team(
85+
name=team['team']['name'],
86+
logo=logo_map[team['team']['name']],
87+
position=team['position'],
88+
league=team['group']['name']
89+
)
90+
for team in api_data['standings']['response'][0] + api_data['standings']['response'][1]
7891
]
79-
standings=[
80-
base.Team(
81-
name=team['team']['name'],
82-
logo=logo_map[team['team']['name']],
83-
position=team['position'],
84-
league=team['group']['name']
85-
)
86-
for team in api_data['standings']['response'][0] + api_data['standings']['response'][1]
87-
]
88-
result = base.ModuleResult(
89-
name=logo.name,
90-
team=base.Team(
92+
result = base.ModuleResult(
9193
name=logo.name,
92-
logo=logo,
93-
),
94-
schedule=schedule,
95-
standings = standings,
96-
sport=base.SportStructure.Baseball,
97-
games_played=len([game for game in schedule if game.status == base.GameStatus.Finished or game.status == base.GameStatus.Overtime]),
98-
wins=len([game for game in schedule if game.result == base.GameResult.WIN]),
99-
losses=len([game for game in schedule if game.result == base.GameResult.LOSS]),
100-
)
101-
return SportApiResult(result)
94+
team=base.Team(
95+
name=logo.name,
96+
logo=logo,
97+
),
98+
schedule=schedule,
99+
standings = standings,
100+
sport=base.SportStructure.Baseball,
101+
games_played=len([game for game in schedule if game.status == base.GameStatus.Finished or game.status == base.GameStatus.Overtime]),
102+
wins=len([game for game in schedule if game.result == base.GameResult.WIN]),
103+
losses=len([game for game in schedule if game.result == base.GameResult.LOSS]),
104+
)
105+
return SportApiResult(result)
106+
except Exception as e:
107+
raise base.SportException(e)

src/python/ohmyoled/lib/sports/apisports/basketball/basketball.py

Lines changed: 60 additions & 55 deletions
Original file line numberDiff line numberDiff line change
@@ -40,62 +40,67 @@ async def run(self) -> SportApiResult:
4040
for section, url in self.url_builder(parsed, logo).items():
4141
api_data.update({section: await self.get_data(url, self.headers)})
4242
api_data['sport'] = 'basketball'
43-
schedule = [
44-
base.Game(
45-
team=base.Team(
46-
name=logo.name,
47-
logo=logo,
48-
),
49-
timestamp=datetime.fromtimestamp(game['timestamp']),
50-
status=base.determine_apisports_game_status(
51-
game,
52-
base.Team(
53-
logo.name,
54-
logo=logo
43+
if api_data["standings"]["errors"] != []:
44+
raise base.SportApiExceedLimit("Api Exceeded the limit")
45+
try:
46+
schedule = [
47+
base.Game(
48+
team=base.Team(
49+
name=logo.name,
50+
logo=logo,
51+
),
52+
timestamp=datetime.fromtimestamp(game['timestamp']),
53+
status=base.determine_apisports_game_status(
54+
game,
55+
base.Team(
56+
logo.name,
57+
logo=logo
58+
),
59+
api_data['sport']
60+
)[0],
61+
opposing_team=base.Team(
62+
name=game['teams']['home']['name'],
63+
logo=logo_map[game['teams']['home']['name']],
64+
) if logo.name != game['teams']['home']['name'] else base.Team(
65+
name=game['teams']['away']['name'], logo=logo_map[game['teams']['away']['name']]
5566
),
56-
api_data['sport']
57-
)[0],
58-
opposing_team=base.Team(
59-
name=game['teams']['home']['name'],
60-
logo=logo_map[game['teams']['home']['name']],
61-
) if logo.name != game['teams']['home']['name'] else base.Team(
62-
name=game['teams']['away']['name'], logo=logo_map[game['teams']['away']['name']]
63-
),
64-
result=base.determine_apisports_game_status(
65-
game,
66-
base.Team(
67-
logo.name,
68-
logo=logo
67+
result=base.determine_apisports_game_status(
68+
game,
69+
base.Team(
70+
logo.name,
71+
logo=logo
72+
),
73+
api_data['sport']
74+
)[1],
75+
homeoraway="home" if logo.name == game['teams']['home']['name'] else "away",
76+
score=base.Score(
77+
team=game['scores']['home'] if logo.name == game['teams']['home']['name'] else game['scores']['away'],
78+
opposing_team=game['scores']['home'] if logo.name != game['teams']['home']['name'] else game['scores']['away'],
6979
),
70-
api_data['sport']
71-
)[1],
72-
homeoraway="home" if logo.name == game['teams']['home']['name'] else "away",
73-
score=base.Score(
74-
team=game['scores']['home'] if logo.name == game['teams']['home']['name'] else game['scores']['away'],
75-
opposing_team=game['scores']['home'] if logo.name != game['teams']['home']['name'] else game['scores']['away'],
76-
),
77-
78-
) for game in api_data['next_game']['response']
80+
81+
) for game in api_data['next_game']['response']
82+
]
83+
standings=[
84+
base.Team(
85+
name=team['team']['name'],
86+
logo=logo_map[team['team']['name']],
87+
position=team['position'],
88+
league=team['group']['name']
89+
) for team in api_data['standings']['response'][0]
7990
]
80-
standings=[
81-
base.Team(
82-
name=team['team']['name'],
83-
logo=logo_map[team['team']['name']],
84-
position=team['position'],
85-
league=team['group']['name']
86-
) for team in api_data['standings']['response'][0]
87-
]
88-
result = base.ModuleResult(
89-
name=logo.name,
90-
team=base.Team(
91+
result = base.ModuleResult(
9192
name=logo.name,
92-
logo=logo,
93-
),
94-
schedule=schedule,
95-
standings = standings,
96-
sport=base.SportStructure.Basketball,
97-
games_played=len([game for game in schedule if game.status == base.GameStatus.Finished or game.status == base.GameStatus.Overtime]),
98-
wins=len([game for game in schedule if game.result == base.GameResult.WIN]),
99-
losses=len([game for game in schedule if game.result == base.GameResult.LOSS]),
100-
)
101-
return SportApiResult(result)
93+
team=base.Team(
94+
name=logo.name,
95+
logo=logo,
96+
),
97+
schedule=schedule,
98+
standings = standings,
99+
sport=base.SportStructure.Basketball,
100+
games_played=len([game for game in schedule if game.status == base.GameStatus.Finished or game.status == base.GameStatus.Overtime]),
101+
wins=len([game for game in schedule if game.result == base.GameResult.WIN]),
102+
losses=len([game for game in schedule if game.result == base.GameResult.LOSS]),
103+
)
104+
return SportApiResult(result)
105+
except Exception as e:
106+
raise base.SportException(e)

src/python/ohmyoled/lib/sports/apisports/hockey/hockey.py

Lines changed: 61 additions & 56 deletions
Original file line numberDiff line numberDiff line change
@@ -41,64 +41,69 @@ async def run(self) -> SportApiResult:
4141
logo = logo_map[self.config['team_logo'].get('name')]
4242
for section, url in self.url_builder(parsed, logo).items():
4343
api_data.update({section: await self.get_data(url, self.headers)})
44+
if api_data["standings"]["errors"] != []:
45+
raise base.SportApiExceedLimit("Api Exceeded the limit")
4446
api_data['sport'] = 'hockey'
45-
schedule = [
46-
base.Game(
47-
team=base.Team(
48-
name=logo.name,
49-
logo=logo,
50-
),
51-
timestamp=datetime.fromtimestamp(game['timestamp']),
52-
status=base.determine_apisports_game_status(
53-
game,
54-
base.Team(
55-
logo.name,
56-
logo=logo
47+
try:
48+
schedule = [
49+
base.Game(
50+
team=base.Team(
51+
name=logo.name,
52+
logo=logo,
5753
),
58-
api_data['sport']
59-
)[0],
60-
opposing_team=base.Team(
61-
name=game['teams']['home']['name'],
62-
logo=logo_map[game['teams']['home']['name']],
63-
) if logo.name != game['teams']['home']['name'] else base.Team(
64-
name=game['teams']['away']['name'], logo=logo_map[game['teams']['away']['name']]
65-
),
66-
result=base.determine_apisports_game_status(
67-
game,
68-
base.Team(
69-
logo.name,
70-
logo=logo
54+
timestamp=datetime.fromtimestamp(game['timestamp']),
55+
status=base.determine_apisports_game_status(
56+
game,
57+
base.Team(
58+
logo.name,
59+
logo=logo
60+
),
61+
api_data['sport']
62+
)[0],
63+
opposing_team=base.Team(
64+
name=game['teams']['home']['name'],
65+
logo=logo_map[game['teams']['home']['name']],
66+
) if logo.name != game['teams']['home']['name'] else base.Team(
67+
name=game['teams']['away']['name'], logo=logo_map[game['teams']['away']['name']]
7168
),
72-
api_data['sport']
73-
)[1],
74-
homeoraway="home" if logo.name == game['teams']['home']['name'] else "away",
75-
score=base.Score(
76-
team=game['scores']['home'] if logo.name == game['teams']['home']['name'] else game['scores']['away'],
77-
opposing_team=game['scores']['home'] if logo.name != game['teams']['home']['name'] else game['scores']['away'],
78-
),
79-
80-
) for game in api_data['next_game']['response']
69+
result=base.determine_apisports_game_status(
70+
game,
71+
base.Team(
72+
logo.name,
73+
logo=logo
74+
),
75+
api_data['sport']
76+
)[1],
77+
homeoraway="home" if logo.name == game['teams']['home']['name'] else "away",
78+
score=base.Score(
79+
team=game['scores']['home'] if logo.name == game['teams']['home']['name'] else game['scores']['away'],
80+
opposing_team=game['scores']['home'] if logo.name != game['teams']['home']['name'] else game['scores']['away'],
81+
),
82+
83+
) for game in api_data['next_game']['response']
84+
]
85+
standings=[
86+
base.Team(
87+
name=team['team']['name'],
88+
logo=logo_map[team['team']['name']],
89+
position=team['position'],
90+
league=team['group']['name']
91+
)
92+
for team in api_data['standings']['response'][0] + api_data['standings']['response'][1]
8193
]
82-
standings=[
83-
base.Team(
84-
name=team['team']['name'],
85-
logo=logo_map[team['team']['name']],
86-
position=team['position'],
87-
league=team['group']['name']
88-
)
89-
for team in api_data['standings']['response'][0] + api_data['standings']['response'][1]
90-
]
91-
result = base.ModuleResult(
92-
name=logo.name,
93-
team=base.Team(
94+
result = base.ModuleResult(
9495
name=logo.name,
95-
logo=logo,
96-
),
97-
schedule=schedule,
98-
standings = standings,
99-
sport=base.SportStructure.Hockey,
100-
games_played=len([game for game in schedule if game.status == base.GameStatus.Finished or game.status == base.GameStatus.Overtime]),
101-
wins=len([game for game in schedule if game.result == base.GameResult.WIN]),
102-
losses=len([game for game in schedule if game.result == base.GameResult.LOSS]),
103-
)
104-
return SportApiResult(result)
96+
team=base.Team(
97+
name=logo.name,
98+
logo=logo,
99+
),
100+
schedule=schedule,
101+
standings = standings,
102+
sport=base.SportStructure.Hockey,
103+
games_played=len([game for game in schedule if game.status == base.GameStatus.Finished or game.status == base.GameStatus.Overtime]),
104+
wins=len([game for game in schedule if game.result == base.GameResult.WIN]),
105+
losses=len([game for game in schedule if game.result == base.GameResult.LOSS]),
106+
)
107+
return SportApiResult(result)
108+
except Exception as e:
109+
raise base.SportException(e)

0 commit comments

Comments
 (0)