crawlora-sofascore 0.1.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,222 @@
1
+ # Generated by scripts/generate.py. Do not edit manually.
2
+ PLATFORM = 'sofascore'
3
+ OPERATION_COUNT = 15
4
+ OPERATION_IDS = ('sofascore-event', 'sofascore-event-h2h', 'sofascore-event-incidents', 'sofascore-event-lineups', 'sofascore-event-odds', 'sofascore-event-statistics', 'sofascore-live-events', 'sofascore-player', 'sofascore-round-events', 'sofascore-search', 'sofascore-standings', 'sofascore-team', 'sofascore-team-events', 'sofascore-team-players', 'sofascore-tournament-seasons')
5
+
6
+ OPERATIONS = {'sofascore-event': {'bodyParam': None,
7
+ 'bodyRequired': False,
8
+ 'consumes': ['application/json'],
9
+ 'formParams': [],
10
+ 'id': 'sofascore-event',
11
+ 'method': 'GET',
12
+ 'path': '/sofascore/event',
13
+ 'pathParams': [],
14
+ 'produces': ['application/json'],
15
+ 'queryParams': [{'in': 'query', 'name': 'id', 'required': True, 'type': 'string'}],
16
+ 'security': ['ApiKeyAuth']},
17
+ 'sofascore-event-h2h': {'bodyParam': None,
18
+ 'bodyRequired': False,
19
+ 'consumes': ['application/json'],
20
+ 'formParams': [],
21
+ 'id': 'sofascore-event-h2h',
22
+ 'method': 'GET',
23
+ 'path': '/sofascore/event-h2h',
24
+ 'pathParams': [],
25
+ 'produces': ['application/json'],
26
+ 'queryParams': [{'in': 'query', 'name': 'id', 'required': True, 'type': 'string'}],
27
+ 'security': ['ApiKeyAuth']},
28
+ 'sofascore-event-incidents': {'bodyParam': None,
29
+ 'bodyRequired': False,
30
+ 'consumes': ['application/json'],
31
+ 'formParams': [],
32
+ 'id': 'sofascore-event-incidents',
33
+ 'method': 'GET',
34
+ 'path': '/sofascore/event-incidents',
35
+ 'pathParams': [],
36
+ 'produces': ['application/json'],
37
+ 'queryParams': [{'in': 'query', 'name': 'id', 'required': True, 'type': 'string'}],
38
+ 'security': ['ApiKeyAuth']},
39
+ 'sofascore-event-lineups': {'bodyParam': None,
40
+ 'bodyRequired': False,
41
+ 'consumes': ['application/json'],
42
+ 'formParams': [],
43
+ 'id': 'sofascore-event-lineups',
44
+ 'method': 'GET',
45
+ 'path': '/sofascore/event-lineups',
46
+ 'pathParams': [],
47
+ 'produces': ['application/json'],
48
+ 'queryParams': [{'in': 'query', 'name': 'id', 'required': True, 'type': 'string'}],
49
+ 'security': ['ApiKeyAuth']},
50
+ 'sofascore-event-odds': {'bodyParam': None,
51
+ 'bodyRequired': False,
52
+ 'consumes': ['application/json'],
53
+ 'formParams': [],
54
+ 'id': 'sofascore-event-odds',
55
+ 'method': 'GET',
56
+ 'path': '/sofascore/event-odds',
57
+ 'pathParams': [],
58
+ 'produces': ['application/json'],
59
+ 'queryParams': [{'in': 'query', 'name': 'id', 'required': True, 'type': 'string'}],
60
+ 'security': ['ApiKeyAuth']},
61
+ 'sofascore-event-statistics': {'bodyParam': None,
62
+ 'bodyRequired': False,
63
+ 'consumes': ['application/json'],
64
+ 'formParams': [],
65
+ 'id': 'sofascore-event-statistics',
66
+ 'method': 'GET',
67
+ 'path': '/sofascore/event-statistics',
68
+ 'pathParams': [],
69
+ 'produces': ['application/json'],
70
+ 'queryParams': [{'in': 'query', 'name': 'id', 'required': True, 'type': 'string'}],
71
+ 'security': ['ApiKeyAuth']},
72
+ 'sofascore-live-events': {'bodyParam': None,
73
+ 'bodyRequired': False,
74
+ 'consumes': ['application/json'],
75
+ 'formParams': [],
76
+ 'id': 'sofascore-live-events',
77
+ 'method': 'GET',
78
+ 'path': '/sofascore/live-events',
79
+ 'pathParams': [],
80
+ 'produces': ['application/json'],
81
+ 'queryParams': [{'enum': ['football', 'basketball', 'tennis'],
82
+ 'in': 'query',
83
+ 'name': 'sport',
84
+ 'required': True,
85
+ 'type': 'string'}],
86
+ 'security': ['ApiKeyAuth']},
87
+ 'sofascore-player': {'bodyParam': None,
88
+ 'bodyRequired': False,
89
+ 'consumes': ['application/json'],
90
+ 'formParams': [],
91
+ 'id': 'sofascore-player',
92
+ 'method': 'GET',
93
+ 'path': '/sofascore/player',
94
+ 'pathParams': [],
95
+ 'produces': ['application/json'],
96
+ 'queryParams': [{'in': 'query', 'name': 'id', 'required': True, 'type': 'string'}],
97
+ 'security': ['ApiKeyAuth']},
98
+ 'sofascore-round-events': {'bodyParam': None,
99
+ 'bodyRequired': False,
100
+ 'consumes': ['application/json'],
101
+ 'formParams': [],
102
+ 'id': 'sofascore-round-events',
103
+ 'method': 'GET',
104
+ 'path': '/sofascore/round-events',
105
+ 'pathParams': [],
106
+ 'produces': ['application/json'],
107
+ 'queryParams': [{'in': 'query', 'name': 'id', 'required': True, 'type': 'string'},
108
+ {'in': 'query', 'name': 'season', 'required': True, 'type': 'string'},
109
+ {'in': 'query', 'name': 'round', 'required': True, 'type': 'integer'}],
110
+ 'security': ['ApiKeyAuth']},
111
+ 'sofascore-search': {'bodyParam': None,
112
+ 'bodyRequired': False,
113
+ 'consumes': ['application/json'],
114
+ 'formParams': [],
115
+ 'id': 'sofascore-search',
116
+ 'method': 'GET',
117
+ 'path': '/sofascore/search',
118
+ 'pathParams': [],
119
+ 'produces': ['application/json'],
120
+ 'queryParams': [{'in': 'query', 'name': 'q', 'required': True, 'type': 'string'}],
121
+ 'security': ['ApiKeyAuth']},
122
+ 'sofascore-standings': {'bodyParam': None,
123
+ 'bodyRequired': False,
124
+ 'consumes': ['application/json'],
125
+ 'formParams': [],
126
+ 'id': 'sofascore-standings',
127
+ 'method': 'GET',
128
+ 'path': '/sofascore/standings',
129
+ 'pathParams': [],
130
+ 'produces': ['application/json'],
131
+ 'queryParams': [{'in': 'query', 'name': 'id', 'required': True, 'type': 'string'},
132
+ {'in': 'query', 'name': 'season', 'required': True, 'type': 'string'},
133
+ {'enum': ['total', 'home', 'away'],
134
+ 'in': 'query',
135
+ 'name': 'type',
136
+ 'required': True,
137
+ 'type': 'string'}],
138
+ 'security': ['ApiKeyAuth']},
139
+ 'sofascore-team': {'bodyParam': None,
140
+ 'bodyRequired': False,
141
+ 'consumes': ['application/json'],
142
+ 'formParams': [],
143
+ 'id': 'sofascore-team',
144
+ 'method': 'GET',
145
+ 'path': '/sofascore/team',
146
+ 'pathParams': [],
147
+ 'produces': ['application/json'],
148
+ 'queryParams': [{'in': 'query', 'name': 'id', 'required': True, 'type': 'string'}],
149
+ 'security': ['ApiKeyAuth']},
150
+ 'sofascore-team-events': {'bodyParam': None,
151
+ 'bodyRequired': False,
152
+ 'consumes': ['application/json'],
153
+ 'formParams': [],
154
+ 'id': 'sofascore-team-events',
155
+ 'method': 'GET',
156
+ 'paginatable': True,
157
+ 'path': '/sofascore/team-events',
158
+ 'pathParams': [],
159
+ 'produces': ['application/json'],
160
+ 'queryParams': [{'in': 'query', 'name': 'id', 'required': True, 'type': 'string'},
161
+ {'enum': ['next', 'last'],
162
+ 'in': 'query',
163
+ 'name': 'direction',
164
+ 'required': True,
165
+ 'type': 'string'},
166
+ {'in': 'query', 'name': 'page', 'type': 'integer'}],
167
+ 'security': ['ApiKeyAuth']},
168
+ 'sofascore-team-players': {'bodyParam': None,
169
+ 'bodyRequired': False,
170
+ 'consumes': ['application/json'],
171
+ 'formParams': [],
172
+ 'id': 'sofascore-team-players',
173
+ 'method': 'GET',
174
+ 'path': '/sofascore/team-players',
175
+ 'pathParams': [],
176
+ 'produces': ['application/json'],
177
+ 'queryParams': [{'in': 'query', 'name': 'id', 'required': True, 'type': 'string'}],
178
+ 'security': ['ApiKeyAuth']},
179
+ 'sofascore-tournament-seasons': {'bodyParam': None,
180
+ 'bodyRequired': False,
181
+ 'consumes': ['application/json'],
182
+ 'formParams': [],
183
+ 'id': 'sofascore-tournament-seasons',
184
+ 'method': 'GET',
185
+ 'path': '/sofascore/tournament-seasons',
186
+ 'pathParams': [],
187
+ 'produces': ['application/json'],
188
+ 'queryParams': [{'in': 'query', 'name': 'id', 'required': True, 'type': 'string'}],
189
+ 'security': ['ApiKeyAuth']}}
190
+
191
+ GROUPS = {'sofascore': {'event': 'sofascore-event',
192
+ 'event_h2h': 'sofascore-event-h2h',
193
+ 'event_incidents': 'sofascore-event-incidents',
194
+ 'event_lineups': 'sofascore-event-lineups',
195
+ 'event_odds': 'sofascore-event-odds',
196
+ 'event_statistics': 'sofascore-event-statistics',
197
+ 'live_events': 'sofascore-live-events',
198
+ 'player': 'sofascore-player',
199
+ 'round_events': 'sofascore-round-events',
200
+ 'search': 'sofascore-search',
201
+ 'standings': 'sofascore-standings',
202
+ 'team': 'sofascore-team',
203
+ 'team_events': 'sofascore-team-events',
204
+ 'team_players': 'sofascore-team-players',
205
+ 'tournament_seasons': 'sofascore-tournament-seasons'}}
206
+
207
+ class OperationId:
208
+ SOFASCORE_EVENT = 'sofascore-event'
209
+ SOFASCORE_EVENT_H2H = 'sofascore-event-h2h'
210
+ SOFASCORE_EVENT_INCIDENTS = 'sofascore-event-incidents'
211
+ SOFASCORE_EVENT_LINEUPS = 'sofascore-event-lineups'
212
+ SOFASCORE_EVENT_ODDS = 'sofascore-event-odds'
213
+ SOFASCORE_EVENT_STATISTICS = 'sofascore-event-statistics'
214
+ SOFASCORE_LIVE_EVENTS = 'sofascore-live-events'
215
+ SOFASCORE_PLAYER = 'sofascore-player'
216
+ SOFASCORE_ROUND_EVENTS = 'sofascore-round-events'
217
+ SOFASCORE_SEARCH = 'sofascore-search'
218
+ SOFASCORE_STANDINGS = 'sofascore-standings'
219
+ SOFASCORE_TEAM = 'sofascore-team'
220
+ SOFASCORE_TEAM_EVENTS = 'sofascore-team-events'
221
+ SOFASCORE_TEAM_PLAYERS = 'sofascore-team-players'
222
+ SOFASCORE_TOURNAMENT_SEASONS = 'sofascore-tournament-seasons'
@@ -0,0 +1,197 @@
1
+ """Platform-specific convenience clients."""
2
+ from __future__ import annotations
3
+ from typing import Any
4
+ from .client import CrawloraClient
5
+ from .async_client import AsyncCrawloraClient
6
+
7
+ class SofascoreClient(CrawloraClient):
8
+ """Synchronous SofaScore API client."""
9
+ def __init__(self, *args: Any, **kwargs: Any) -> None:
10
+ kwargs.setdefault('user_agent', 'crawlora-sofascore-python/0.1.0')
11
+ super().__init__(*args, **kwargs)
12
+
13
+ def event(self, **params: Any) -> Any:
14
+ response_type = params.pop('_response_type', 'auto')
15
+ timeout = params.pop('_timeout', None)
16
+ headers = params.pop('_headers', None)
17
+ return self.request('sofascore-event', params, response_type=response_type, timeout=timeout, headers=headers)
18
+
19
+ def event_h2h(self, **params: Any) -> Any:
20
+ response_type = params.pop('_response_type', 'auto')
21
+ timeout = params.pop('_timeout', None)
22
+ headers = params.pop('_headers', None)
23
+ return self.request('sofascore-event-h2h', params, response_type=response_type, timeout=timeout, headers=headers)
24
+
25
+ def event_incidents(self, **params: Any) -> Any:
26
+ response_type = params.pop('_response_type', 'auto')
27
+ timeout = params.pop('_timeout', None)
28
+ headers = params.pop('_headers', None)
29
+ return self.request('sofascore-event-incidents', params, response_type=response_type, timeout=timeout, headers=headers)
30
+
31
+ def event_lineups(self, **params: Any) -> Any:
32
+ response_type = params.pop('_response_type', 'auto')
33
+ timeout = params.pop('_timeout', None)
34
+ headers = params.pop('_headers', None)
35
+ return self.request('sofascore-event-lineups', params, response_type=response_type, timeout=timeout, headers=headers)
36
+
37
+ def event_odds(self, **params: Any) -> Any:
38
+ response_type = params.pop('_response_type', 'auto')
39
+ timeout = params.pop('_timeout', None)
40
+ headers = params.pop('_headers', None)
41
+ return self.request('sofascore-event-odds', params, response_type=response_type, timeout=timeout, headers=headers)
42
+
43
+ def event_statistics(self, **params: Any) -> Any:
44
+ response_type = params.pop('_response_type', 'auto')
45
+ timeout = params.pop('_timeout', None)
46
+ headers = params.pop('_headers', None)
47
+ return self.request('sofascore-event-statistics', params, response_type=response_type, timeout=timeout, headers=headers)
48
+
49
+ def live_events(self, **params: Any) -> Any:
50
+ response_type = params.pop('_response_type', 'auto')
51
+ timeout = params.pop('_timeout', None)
52
+ headers = params.pop('_headers', None)
53
+ return self.request('sofascore-live-events', params, response_type=response_type, timeout=timeout, headers=headers)
54
+
55
+ def player(self, **params: Any) -> Any:
56
+ response_type = params.pop('_response_type', 'auto')
57
+ timeout = params.pop('_timeout', None)
58
+ headers = params.pop('_headers', None)
59
+ return self.request('sofascore-player', params, response_type=response_type, timeout=timeout, headers=headers)
60
+
61
+ def round_events(self, **params: Any) -> Any:
62
+ response_type = params.pop('_response_type', 'auto')
63
+ timeout = params.pop('_timeout', None)
64
+ headers = params.pop('_headers', None)
65
+ return self.request('sofascore-round-events', params, response_type=response_type, timeout=timeout, headers=headers)
66
+
67
+ def search(self, **params: Any) -> Any:
68
+ response_type = params.pop('_response_type', 'auto')
69
+ timeout = params.pop('_timeout', None)
70
+ headers = params.pop('_headers', None)
71
+ return self.request('sofascore-search', params, response_type=response_type, timeout=timeout, headers=headers)
72
+
73
+ def standings(self, **params: Any) -> Any:
74
+ response_type = params.pop('_response_type', 'auto')
75
+ timeout = params.pop('_timeout', None)
76
+ headers = params.pop('_headers', None)
77
+ return self.request('sofascore-standings', params, response_type=response_type, timeout=timeout, headers=headers)
78
+
79
+ def team(self, **params: Any) -> Any:
80
+ response_type = params.pop('_response_type', 'auto')
81
+ timeout = params.pop('_timeout', None)
82
+ headers = params.pop('_headers', None)
83
+ return self.request('sofascore-team', params, response_type=response_type, timeout=timeout, headers=headers)
84
+
85
+ def team_events(self, **params: Any) -> Any:
86
+ response_type = params.pop('_response_type', 'auto')
87
+ timeout = params.pop('_timeout', None)
88
+ headers = params.pop('_headers', None)
89
+ return self.request('sofascore-team-events', params, response_type=response_type, timeout=timeout, headers=headers)
90
+
91
+ def team_players(self, **params: Any) -> Any:
92
+ response_type = params.pop('_response_type', 'auto')
93
+ timeout = params.pop('_timeout', None)
94
+ headers = params.pop('_headers', None)
95
+ return self.request('sofascore-team-players', params, response_type=response_type, timeout=timeout, headers=headers)
96
+
97
+ def tournament_seasons(self, **params: Any) -> Any:
98
+ response_type = params.pop('_response_type', 'auto')
99
+ timeout = params.pop('_timeout', None)
100
+ headers = params.pop('_headers', None)
101
+ return self.request('sofascore-tournament-seasons', params, response_type=response_type, timeout=timeout, headers=headers)
102
+
103
+ class AsyncSofascoreClient(AsyncCrawloraClient):
104
+ """Asynchronous SofaScore API client."""
105
+ def __init__(self, *args: Any, **kwargs: Any) -> None:
106
+ kwargs.setdefault('user_agent', 'crawlora-sofascore-python/0.1.0')
107
+ super().__init__(*args, **kwargs)
108
+
109
+ async def event(self, **params: Any) -> Any:
110
+ response_type = params.pop('_response_type', 'auto')
111
+ timeout = params.pop('_timeout', None)
112
+ headers = params.pop('_headers', None)
113
+ return await self.request('sofascore-event', params, response_type=response_type, timeout=timeout, headers=headers)
114
+
115
+ async def event_h2h(self, **params: Any) -> Any:
116
+ response_type = params.pop('_response_type', 'auto')
117
+ timeout = params.pop('_timeout', None)
118
+ headers = params.pop('_headers', None)
119
+ return await self.request('sofascore-event-h2h', params, response_type=response_type, timeout=timeout, headers=headers)
120
+
121
+ async def event_incidents(self, **params: Any) -> Any:
122
+ response_type = params.pop('_response_type', 'auto')
123
+ timeout = params.pop('_timeout', None)
124
+ headers = params.pop('_headers', None)
125
+ return await self.request('sofascore-event-incidents', params, response_type=response_type, timeout=timeout, headers=headers)
126
+
127
+ async def event_lineups(self, **params: Any) -> Any:
128
+ response_type = params.pop('_response_type', 'auto')
129
+ timeout = params.pop('_timeout', None)
130
+ headers = params.pop('_headers', None)
131
+ return await self.request('sofascore-event-lineups', params, response_type=response_type, timeout=timeout, headers=headers)
132
+
133
+ async def event_odds(self, **params: Any) -> Any:
134
+ response_type = params.pop('_response_type', 'auto')
135
+ timeout = params.pop('_timeout', None)
136
+ headers = params.pop('_headers', None)
137
+ return await self.request('sofascore-event-odds', params, response_type=response_type, timeout=timeout, headers=headers)
138
+
139
+ async def event_statistics(self, **params: Any) -> Any:
140
+ response_type = params.pop('_response_type', 'auto')
141
+ timeout = params.pop('_timeout', None)
142
+ headers = params.pop('_headers', None)
143
+ return await self.request('sofascore-event-statistics', params, response_type=response_type, timeout=timeout, headers=headers)
144
+
145
+ async def live_events(self, **params: Any) -> Any:
146
+ response_type = params.pop('_response_type', 'auto')
147
+ timeout = params.pop('_timeout', None)
148
+ headers = params.pop('_headers', None)
149
+ return await self.request('sofascore-live-events', params, response_type=response_type, timeout=timeout, headers=headers)
150
+
151
+ async def player(self, **params: Any) -> Any:
152
+ response_type = params.pop('_response_type', 'auto')
153
+ timeout = params.pop('_timeout', None)
154
+ headers = params.pop('_headers', None)
155
+ return await self.request('sofascore-player', params, response_type=response_type, timeout=timeout, headers=headers)
156
+
157
+ async def round_events(self, **params: Any) -> Any:
158
+ response_type = params.pop('_response_type', 'auto')
159
+ timeout = params.pop('_timeout', None)
160
+ headers = params.pop('_headers', None)
161
+ return await self.request('sofascore-round-events', params, response_type=response_type, timeout=timeout, headers=headers)
162
+
163
+ async def search(self, **params: Any) -> Any:
164
+ response_type = params.pop('_response_type', 'auto')
165
+ timeout = params.pop('_timeout', None)
166
+ headers = params.pop('_headers', None)
167
+ return await self.request('sofascore-search', params, response_type=response_type, timeout=timeout, headers=headers)
168
+
169
+ async def standings(self, **params: Any) -> Any:
170
+ response_type = params.pop('_response_type', 'auto')
171
+ timeout = params.pop('_timeout', None)
172
+ headers = params.pop('_headers', None)
173
+ return await self.request('sofascore-standings', params, response_type=response_type, timeout=timeout, headers=headers)
174
+
175
+ async def team(self, **params: Any) -> Any:
176
+ response_type = params.pop('_response_type', 'auto')
177
+ timeout = params.pop('_timeout', None)
178
+ headers = params.pop('_headers', None)
179
+ return await self.request('sofascore-team', params, response_type=response_type, timeout=timeout, headers=headers)
180
+
181
+ async def team_events(self, **params: Any) -> Any:
182
+ response_type = params.pop('_response_type', 'auto')
183
+ timeout = params.pop('_timeout', None)
184
+ headers = params.pop('_headers', None)
185
+ return await self.request('sofascore-team-events', params, response_type=response_type, timeout=timeout, headers=headers)
186
+
187
+ async def team_players(self, **params: Any) -> Any:
188
+ response_type = params.pop('_response_type', 'auto')
189
+ timeout = params.pop('_timeout', None)
190
+ headers = params.pop('_headers', None)
191
+ return await self.request('sofascore-team-players', params, response_type=response_type, timeout=timeout, headers=headers)
192
+
193
+ async def tournament_seasons(self, **params: Any) -> Any:
194
+ response_type = params.pop('_response_type', 'auto')
195
+ timeout = params.pop('_timeout', None)
196
+ headers = params.pop('_headers', None)
197
+ return await self.request('sofascore-tournament-seasons', params, response_type=response_type, timeout=timeout, headers=headers)