@@ -20,13 +20,13 @@ def __init__(self, access_token, user_agent):
20
20
self .access_token = access_token
21
21
self .user_agent = user_agent
22
22
23
- def build_url (self , sport , method , event_id , format = "json" ):
23
+ def build_url (self , sport = None , method , date = None , id = None , format = "json" ):
24
24
host = "https://erikberg.com/"
25
- path = "/" .join (filter (None , (sport , method , event_id )))
25
+ path = "/" .join (filter (None , (sport , method , date , id )))
26
26
url = host + path + "." + format
27
27
return url
28
28
29
- def http_get (self , url , params ):
29
+ def http_get (self , url , params = None ):
30
30
headers = {"Authorization" : "Bearer " + self .access_token ,
31
31
"User-Agent" : "xmlstats-py/0.1" + self .user_agent }
32
32
r = requests .get (url , headers = headers , params = params )
@@ -43,10 +43,108 @@ def http_get(self, url, params):
43
43
else :
44
44
r .raise_for_status ()
45
45
46
- def get_nba_boxscore (self , event_id ):
46
+ def get_boxscore (self , sport , event_id ):
47
47
data = self .http_get (
48
- self .build_url (sport = "nba" , method = "boxscore" , event_id = event_id ),
48
+ self .build_url (sport = sport , method = "boxscore" , id = event_id ),
49
49
params = None
50
50
)
51
51
boxscore = Struct (data )
52
52
return boxscore
53
+
54
+ def get_nba_team_stats (self , date , team_id = None ):
55
+ data = self .http_get (
56
+ self .buildurl (sport = "nba" , method = "team-stats" , date = date ),
57
+ params = {
58
+ "team_id" : team_id ,
59
+ }
60
+ )
61
+ team_stats = Struct (data )
62
+ return team_stats
63
+
64
+ def get_events (self , date , sport ):
65
+ data = self .http_get (
66
+ self .build_url (method = "events" ),
67
+ params = {
68
+ "date" : date ,
69
+ "sport" : sport ,
70
+ }
71
+ )
72
+ events = Struct (data )
73
+ return events
74
+
75
+ def get_roster (self , sport , team_id , status = None ):
76
+ '''arg stats="expanded" will return 40-man roster for MLB team,
77
+ rather than 25-man roster
78
+ '''
79
+ data = self .http_get (
80
+ self .build_url (sport = sport , method = "roster" , id = team_id ),
81
+ params = {
82
+ "status" : status
83
+ }
84
+ )
85
+ roster = Struct (data )
86
+ return roster
87
+
88
+ def get_nba_draft_results (self , season = None , team_id = None ):
89
+ data = self .http_get (
90
+ self .build_url (sport = "nba" , method = "draft" ),
91
+ params = {
92
+ "season" : season ,
93
+ "team_id" : team_id
94
+ }
95
+ )
96
+ draft_results = Struct (data )
97
+ return draft_results
98
+
99
+ def get_nba_leaders (self , category , limit = None ,
100
+ qualified = None , season_type = None ):
101
+ '''For list of category IDs, see xmlstats API docs:
102
+ https://erikberg.com/api/methods/nba-leaders
103
+ Qualified parameter determines whether players who meet NBA's minimum
104
+ qualifications will be returned, or all players. API defaults to true
105
+ '''
106
+ data = self .http_get (
107
+ self .build_url (sport = "nba" , method = "leaders" , id = category ),
108
+ params = {
109
+ "limit" : limit ,
110
+ "qualified" : qualified ,
111
+ "season_type" : season_type ,
112
+ }
113
+ )
114
+ leaders = Struct (data )
115
+ return leaders
116
+
117
+ def get_teams (self , sport ):
118
+ data = self .http_get (
119
+ self .build_url (sport = sport , method = "teams" ),
120
+ )
121
+ teams = Struct (data )
122
+ return teams
123
+
124
+ def get_team_results (self , sport , team_id , season = None , since = None ,
125
+ until = None , order = None ):
126
+ data = self .http_get (
127
+ self .build_url (sport = sport , method = "results" , id = team_id ),
128
+ params = {
129
+ "season" : season ,
130
+ "since" : since ,
131
+ "until" : until ,
132
+ "order" : order ,
133
+ }
134
+ )
135
+ results = Struct (data )
136
+ return results
137
+
138
+ def get_standings (self , sport , date = None ):
139
+ data = self .http_get (
140
+ self .build_url (sport = sport , method = "standings" , date = date )
141
+ )
142
+ standings = Struct (data )
143
+ return standings
144
+
145
+ def get_wildcard_standings (self , date ):
146
+ data = self .http_get (
147
+ self .build_url (sport = "mlb" , method = "wildcard" , date = date )
148
+ )
149
+ wildcard = Struct (data )
150
+ return wildcard
0 commit comments