espn_nba_fantasy 0.0.2.1 → 0.0.4
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.
- checksums.yaml +4 -4
- data/lib/espn_nba_fantasy/constants.rb +94 -0
- data/lib/espn_nba_fantasy/league.rb +7 -1
- data/lib/espn_nba_fantasy/player.rb +2 -2
- data/lib/espn_nba_fantasy/team.rb +4 -4
- metadata +4 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 4306b1e3c1b828575b2baf7c5b237c54bfc3916463f84170a054c13dcd3d1dba
|
4
|
+
data.tar.gz: 833f12b70aabf99b9365ac334924b612dd9b0e71603f69d7305091d68fedb140
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 88b1dcadb34024a8bf8d42c572fcea180fe3167370bda2dcb2a76a538c1014a1502e03feece0c95b504e04c054b9b3c91e26a2c19ffca9dfc80e9f838f1cdfd6
|
7
|
+
data.tar.gz: feab0635a4fae468d362e316ac791d0410066c0889170babccf94632210e021527ef25130bb40bb073c1698135b4a4ca83741f86333af31bb31771d2c9220be7
|
@@ -0,0 +1,94 @@
|
|
1
|
+
#these are some of the constants necessary to map ids from the ESPN Fantasy Library to,
|
2
|
+
#so that things like position, stat name, etc are readable!
|
3
|
+
|
4
|
+
POSITION_MAP = ['PG', 'SG', 'SF', 'PF', 'C', 'G', 'F', 'SG/SF', 'G/F', 'PF/C', 'F/C', 'UT', 'BE', 'IR', '', 'Rookie']
|
5
|
+
|
6
|
+
PRO_TEAM_MAP = ['FA', 'ATL','BOS','NOP','CHI','CLE','DAL','DEN','DET','GSW','HOU','IND',
|
7
|
+
'LAC','LAL','MIA','MIL','MIN','BKN','NYK','ORL','PHL','PHO','POR','SAC','SAS','OKC',
|
8
|
+
'UTA','WAS','TOR','MEM','CHA']
|
9
|
+
|
10
|
+
STATS_MAP = {
|
11
|
+
'0' => 'PTS',
|
12
|
+
'1' => 'BLK',
|
13
|
+
'2' => 'STL',
|
14
|
+
'3' => 'AST',
|
15
|
+
'4' => 'OREB',
|
16
|
+
'5' => 'DREB',
|
17
|
+
'6' => 'REB',
|
18
|
+
'7'=> '7',
|
19
|
+
'8'=> '8',
|
20
|
+
'9'=> 'PF',
|
21
|
+
'10'=> '10',
|
22
|
+
'11'=> 'TO',
|
23
|
+
'12'=> '12',
|
24
|
+
'13'=> 'FGM',
|
25
|
+
'14'=> 'FGA',
|
26
|
+
'15'=> 'FTM',
|
27
|
+
'16'=> 'FTA',
|
28
|
+
'17'=> '3PTM',
|
29
|
+
'18'=> '3PTA',
|
30
|
+
'19'=> 'FG%',
|
31
|
+
'20'=> 'FT%',
|
32
|
+
'21'=> '3PT%',
|
33
|
+
'22'=> '22',
|
34
|
+
'23'=> '23',
|
35
|
+
'24'=> '24',
|
36
|
+
'25'=> '25',
|
37
|
+
'26'=> '26',
|
38
|
+
'27'=> '27',
|
39
|
+
'28'=> 'MPG',
|
40
|
+
'29'=> '29',
|
41
|
+
'30'=> '30',
|
42
|
+
'31'=> '31',
|
43
|
+
'32'=> '32',
|
44
|
+
'33'=> '33',
|
45
|
+
'34'=> '34',
|
46
|
+
'35'=> '35',
|
47
|
+
'36'=> '36',
|
48
|
+
'37'=> '37',
|
49
|
+
'38'=> '38',
|
50
|
+
'39'=> '39',
|
51
|
+
'40'=> 'MIN',
|
52
|
+
'41'=> 'GS',
|
53
|
+
'42'=> 'GP',
|
54
|
+
'43'=> '43',
|
55
|
+
'44'=> '44',
|
56
|
+
'45'=> '45',
|
57
|
+
}
|
58
|
+
|
59
|
+
STAT_ID_MAP = {
|
60
|
+
'00': 'total',
|
61
|
+
'10': 'projected',
|
62
|
+
'01': 'last_7',
|
63
|
+
'02': 'last_15',
|
64
|
+
'03': 'last_30'
|
65
|
+
}
|
66
|
+
|
67
|
+
ACTIVITY_MAP = {
|
68
|
+
178 => 'FA ADDED',
|
69
|
+
180 => 'WAIVER ADDED',
|
70
|
+
179 => 'DROPPED',
|
71
|
+
181 => 'DROPPED',
|
72
|
+
239 => 'DROPPED',
|
73
|
+
244 => 'TRADED',
|
74
|
+
'FA': 178,
|
75
|
+
'WAIVER': 180,
|
76
|
+
'TRADED': 244
|
77
|
+
}
|
78
|
+
|
79
|
+
NINE_CAT_STATS = [
|
80
|
+
'3PTM',
|
81
|
+
'AST',
|
82
|
+
'BLK',
|
83
|
+
'FG%',
|
84
|
+
'FT%',
|
85
|
+
'PTS',
|
86
|
+
'REB',
|
87
|
+
'STL',
|
88
|
+
'TO'
|
89
|
+
]
|
90
|
+
|
91
|
+
STATS = ['PTS','BLK','STL','AST','OREB','DREB','TO','FGM','FTM','3PTM', 'FGA', '3PTA', 'FTA']
|
92
|
+
|
93
|
+
EMPTY_STATS = {'PTS'=>0,'BLK'=>0,'STL'=>0,'AST'=>0,'OREB'=>0,'DREB'=>0,'TO'=>0,'FGM'=>0,'FTM'=>0,'3PTM'=>0, 'FGA'=>0, '3PTA'=>0, 'FTA'=>0}
|
94
|
+
|
@@ -13,13 +13,19 @@ class League
|
|
13
13
|
#initializes the league
|
14
14
|
|
15
15
|
def initialize(league_id, year, s2, sw)
|
16
|
-
@
|
16
|
+
@league_id = league_id
|
17
|
+
|
18
|
+
@uri = "https://lm-api-reads.fantasy.espn.com/apis/v3/games/fba/seasons/#{year}/segments/0/leagues/#{league_id}?view=mRoster&view=mSettings&view=mTeam&view=modular&view=mNav"
|
17
19
|
@cookies = {'espn_s2': "#{s2}", 'SWID': "#{sw}"}
|
18
20
|
@data = JSON.parse(RestClient.get(@uri, {cookies: @cookies}))
|
19
21
|
@teams = make_team_objects
|
20
22
|
@stat_data = make_stat_data
|
21
23
|
end
|
22
24
|
|
25
|
+
def to_s
|
26
|
+
"League #{@league_id}"
|
27
|
+
end
|
28
|
+
|
23
29
|
#gives you an array of each team's name and id in the league
|
24
30
|
|
25
31
|
def team_list
|
@@ -17,12 +17,12 @@ class Player
|
|
17
17
|
@team = team
|
18
18
|
end
|
19
19
|
|
20
|
-
private
|
21
|
-
|
22
20
|
def to_s
|
23
21
|
"Player: #{name} | Position: #{position} | Stats: #{stats}"
|
24
22
|
end
|
25
23
|
|
24
|
+
private
|
25
|
+
|
26
26
|
def stat_card_maker(player)
|
27
27
|
avgstats = player['stats'].first['averageStats']
|
28
28
|
statcard = avgstats ? avgstats.transform_keys!{ |k| STATS_MAP[k] }.slice(*STATS) : EMPTY_STATS
|
@@ -27,6 +27,10 @@ class Team
|
|
27
27
|
#returns data including the players trading away and receiving, your stats before and after the trade, and your
|
28
28
|
#change in stats for each category
|
29
29
|
|
30
|
+
def to_s
|
31
|
+
"Team Name: #{name} | Roster: #{roster_names}"
|
32
|
+
end
|
33
|
+
|
30
34
|
def trade_players(to_trade = [], to_receive = [], other_team_name)
|
31
35
|
other_team = league.teams.select{|team| team.name == other_team_name}.first
|
32
36
|
return "No team named #{other_team_name}" unless other_team
|
@@ -40,10 +44,6 @@ class Team
|
|
40
44
|
|
41
45
|
private
|
42
46
|
|
43
|
-
def to_s
|
44
|
-
"Team Name: #{name} | Roster: #{roster_names}"
|
45
|
-
end
|
46
|
-
|
47
47
|
def roster_names
|
48
48
|
players.map(&:name)
|
49
49
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: espn_nba_fantasy
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Usborn Ocampo
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2024-06-26 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rspec
|
@@ -89,6 +89,7 @@ extra_rdoc_files: []
|
|
89
89
|
files:
|
90
90
|
- lib/espn_nba_fantasy.rb
|
91
91
|
- lib/espn_nba_fantasy/calculate_stats.rb
|
92
|
+
- lib/espn_nba_fantasy/constants.rb
|
92
93
|
- lib/espn_nba_fantasy/league.rb
|
93
94
|
- lib/espn_nba_fantasy/player.rb
|
94
95
|
- lib/espn_nba_fantasy/player_finder.rb
|
@@ -112,7 +113,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
112
113
|
- !ruby/object:Gem::Version
|
113
114
|
version: '0'
|
114
115
|
requirements: []
|
115
|
-
rubygems_version: 3.
|
116
|
+
rubygems_version: 3.5.13
|
116
117
|
signing_key:
|
117
118
|
specification_version: 4
|
118
119
|
summary: Get info from your ESPN NBA Fantasy League as JSON data
|