-
Notifications
You must be signed in to change notification settings - Fork 0
/
create_player_items.py
66 lines (52 loc) · 1.92 KB
/
create_player_items.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
import json
import requests
import boto3
def get_roster(team):
response = requests.get("https://data.nba.net/v2015/json/mobile_teams/nba/2021/teams/%s_roster.json" % team.lower())
roster = json.loads(response.content)
players = roster['t']['pl']
team_name = {'firstname':roster['t']['tc'], 'lastname':roster['t']['tn']}
name_players = [players,team_name]
return name_players
def put_players(player,team,client):
playername = player['fn'] + " " + player['ln']
teamname = team['firstname'] + " " + team['lastname']
num = player['num']
pos = player['pos']
ht = player['ht']
table_name = 'Roster'
item={
'playername' : {'S':playername},
'teamname' : {'S' : teamname},
'num': {'S': num},
'pos': {'S': pos},
'ht': {'S': ht}
}
response = client.put_item(TableName = table_name, Item = item)
return response
if __name__ == '__main__':
#blazer missing due to API errors
team_list = ['Hawks' , 'Celtics', 'Nets','Hornets', 'Bulls', 'Cavaliers',
'Mavericks', 'Nuggets', 'Pistons','Warriors', 'Rockets', 'Pacers',
'Clippers', 'Lakers', 'Grizzlies','Heat', 'Bucks', 'Timberwolves',
'Pelicans', 'Knicks', 'Thunder','Magic', '76ers', 'Suns',
'Kings', 'Spurs', 'Raptors', 'Jazz', 'Wizards']
all_teams = []
for team in team_list:
all_teams.append(get_roster(team))
client = boto3.client(
'dynamodb',
aws_access_key_id='****',
aws_secret_access_key='****',
)
resource = boto3.resource(
'dynamodb',
aws_access_key_id='****',
aws_secret_access_key='****',
)
for team in all_teams:
players = team[0]
team = team[1]
for player in players:
response = put_players(player,team,client)
print(response)