lita-espn-fantasy-football 0.1.0 → 0.1.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -13
- data/lib/lita/handlers/espn_fantasy_football.rb +55 -0
- data/lita-espn-fantasy-football.gemspec +1 -1
- metadata +23 -23
checksums.yaml
CHANGED
@@ -1,15 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
|
5
|
-
data.tar.gz: !binary |-
|
6
|
-
YWU1MGUxMGJlMWM2MzlkNjA1YzJhNzRiYjE0MWE0MGEwMjViMTFiNA==
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 208027bd29f18aec4e2cc850e141ea6c47b45b9a
|
4
|
+
data.tar.gz: b0a50b23217ea6a87cee925005af1da6ecaf67f4
|
7
5
|
SHA512:
|
8
|
-
metadata.gz:
|
9
|
-
|
10
|
-
MjI1NDFmZjBlZmQ4MTVkYmYzYTg4YzM0NGU4ZTYxOGNjNmQ3NWI5NzlmMWMy
|
11
|
-
OWFlYTQyNGE2ODM1NGFiYzM3NDg1ZjNiY2ExMGRiNjliNGVhMWM=
|
12
|
-
data.tar.gz: !binary |-
|
13
|
-
NzFlNTIxZTQ2ZDI4YzA5MTJhMmZmN2M3YTM5ZWVkNGE4YzgzYjhmYjdlOTIw
|
14
|
-
YTY2MjYwNDBiMWE1ODU2MTNjZDU3MDFhMThlNGNjZTk2NjRlYzlkZGUzMGM2
|
15
|
-
MzIwZThlNTA5MGYwNDdjMTI2MjVhNjZiYjM5YTYxOTMwNTY4MTM=
|
6
|
+
metadata.gz: 9e7a3f7eeca2d1a916bc3cdb87e1b55d75379024853051415c2ce369e03645de3bf7a37d0a40dbb04781ae825e0f5c70c3adbf11b83f81d405f87abd77260d56
|
7
|
+
data.tar.gz: 96a7de0b3f836907ca853209f174a0f94a3e89dadcbe13e8fddc7ab0d0e8c52c6550ce7767cbef9083fb57fcc89576d7161c2f7b3526039aa3f72ef0bbfbecd0
|
@@ -13,6 +13,10 @@ module Lita
|
|
13
13
|
"player PLAYER NAME" => "Replies information about this football player"
|
14
14
|
})
|
15
15
|
|
16
|
+
route(/^scoreboard\s+\(\d*\)/, :command_scoreboard, command: true, help: {
|
17
|
+
"scoreboard WEEK" => "Replies with the scoreboard for the specified week. If WEEK is empty, the current scoreboard is returned"
|
18
|
+
})
|
19
|
+
|
16
20
|
# chat controllers
|
17
21
|
def command_player(response)
|
18
22
|
player = response.matches.first.first
|
@@ -27,6 +31,20 @@ module Lita
|
|
27
31
|
end
|
28
32
|
end
|
29
33
|
|
34
|
+
def command_scoreboard(response)
|
35
|
+
week = response.matches.first.first
|
36
|
+
unless week.empty?
|
37
|
+
if week.to_i < 1 or week.to_i > 13
|
38
|
+
response.reply("Please specify a week from 1 - 13")
|
39
|
+
end
|
40
|
+
end
|
41
|
+
|
42
|
+
Lita.logger.debug("#{ response.user.name } requested scoreboard for week '#{ week }'")
|
43
|
+
matchups = espn_scoreboard_scrape(week)
|
44
|
+
table = Terminal::Table.new(:headings => matchups["headers"], :rows => matchups["rows"])
|
45
|
+
response.reply("```\n#{ table }\n```")
|
46
|
+
end
|
47
|
+
|
30
48
|
# constants
|
31
49
|
ESPN_POSITION_MAP = {
|
32
50
|
"qb" => 0,
|
@@ -122,6 +140,43 @@ module Lita
|
|
122
140
|
resp
|
123
141
|
end
|
124
142
|
|
143
|
+
def espn_scoreboard_scrape(week)
|
144
|
+
resp = {
|
145
|
+
"headers" => [
|
146
|
+
"team",
|
147
|
+
"score"
|
148
|
+
],
|
149
|
+
"rows" => []
|
150
|
+
}
|
151
|
+
params = {
|
152
|
+
"leagueId" => config.league_id,
|
153
|
+
"seasonId" => config.season_id
|
154
|
+
}
|
155
|
+
# If no period (aka, week) is specified, ESPN defaults to the
|
156
|
+
# most recent (aka, current) matchup period
|
157
|
+
unless week.empty?
|
158
|
+
params["matchupPeriodId"] = week
|
159
|
+
end
|
160
|
+
|
161
|
+
param_string = params.map { |key, val| "#{key}=#{val}" }
|
162
|
+
url = "http://games.espn.go.com/ffl/scoreboard?#{param_string}"
|
163
|
+
scoreboard = Nokogiri::HTML(open(url))
|
164
|
+
|
165
|
+
matchups = page.css("table.playerTableTable.tableBody tr.pncPlayerRow")
|
166
|
+
resp.rows = matchups.map do |m|
|
167
|
+
rows = m.css("tr")
|
168
|
+
team_top = rows[0].css("td.team div.name a").text
|
169
|
+
team_bottom = rows[1].css("td.team div.name a").text
|
170
|
+
score_top = rows[0].css("td.score").text
|
171
|
+
score_bottom = rows[1].css("td.score").text
|
172
|
+
{
|
173
|
+
"team" => "#{team_top}\n#{team_bottom}",
|
174
|
+
"score" => "#{score_top}\n#{score_bottom}"
|
175
|
+
}
|
176
|
+
end
|
177
|
+
resp
|
178
|
+
end
|
179
|
+
|
125
180
|
def format_results(raw)
|
126
181
|
rows = raw["rows"].map{|r| r.map{ |k,v| v}}
|
127
182
|
table = Terminal::Table.new(:headings => raw["headers"], :rows => rows)
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Gem::Specification.new do |spec|
|
2
2
|
spec.name = "lita-espn-fantasy-football"
|
3
|
-
spec.version = "0.1.
|
3
|
+
spec.version = "0.1.2"
|
4
4
|
spec.authors = ["Kevin Reedy", "Miles Evenson"]
|
5
5
|
spec.email = ["kevinreedy@gmail.com", "miles.evenson@gmail.com"]
|
6
6
|
spec.description = "Lita handler for ESPN Fantasy Football"
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: lita-espn-fantasy-football
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Kevin Reedy
|
@@ -9,48 +9,48 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2015-
|
12
|
+
date: 2015-10-28 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: lita
|
16
16
|
requirement: !ruby/object:Gem::Requirement
|
17
17
|
requirements:
|
18
|
-
- -
|
18
|
+
- - '>='
|
19
19
|
- !ruby/object:Gem::Version
|
20
20
|
version: '4.6'
|
21
21
|
type: :runtime
|
22
22
|
prerelease: false
|
23
23
|
version_requirements: !ruby/object:Gem::Requirement
|
24
24
|
requirements:
|
25
|
-
- -
|
25
|
+
- - '>='
|
26
26
|
- !ruby/object:Gem::Version
|
27
27
|
version: '4.6'
|
28
28
|
- !ruby/object:Gem::Dependency
|
29
29
|
name: nokogiri
|
30
30
|
requirement: !ruby/object:Gem::Requirement
|
31
31
|
requirements:
|
32
|
-
- -
|
32
|
+
- - '>='
|
33
33
|
- !ruby/object:Gem::Version
|
34
34
|
version: '1.6'
|
35
35
|
type: :runtime
|
36
36
|
prerelease: false
|
37
37
|
version_requirements: !ruby/object:Gem::Requirement
|
38
38
|
requirements:
|
39
|
-
- -
|
39
|
+
- - '>='
|
40
40
|
- !ruby/object:Gem::Version
|
41
41
|
version: '1.6'
|
42
42
|
- !ruby/object:Gem::Dependency
|
43
43
|
name: terminal-table
|
44
44
|
requirement: !ruby/object:Gem::Requirement
|
45
45
|
requirements:
|
46
|
-
- -
|
46
|
+
- - '>='
|
47
47
|
- !ruby/object:Gem::Version
|
48
48
|
version: '1.5'
|
49
49
|
type: :runtime
|
50
50
|
prerelease: false
|
51
51
|
version_requirements: !ruby/object:Gem::Requirement
|
52
52
|
requirements:
|
53
|
-
- -
|
53
|
+
- - '>='
|
54
54
|
- !ruby/object:Gem::Version
|
55
55
|
version: '1.5'
|
56
56
|
- !ruby/object:Gem::Dependency
|
@@ -71,84 +71,84 @@ dependencies:
|
|
71
71
|
name: pry-byebug
|
72
72
|
requirement: !ruby/object:Gem::Requirement
|
73
73
|
requirements:
|
74
|
-
- -
|
74
|
+
- - '>='
|
75
75
|
- !ruby/object:Gem::Version
|
76
76
|
version: '0'
|
77
77
|
type: :development
|
78
78
|
prerelease: false
|
79
79
|
version_requirements: !ruby/object:Gem::Requirement
|
80
80
|
requirements:
|
81
|
-
- -
|
81
|
+
- - '>='
|
82
82
|
- !ruby/object:Gem::Version
|
83
83
|
version: '0'
|
84
84
|
- !ruby/object:Gem::Dependency
|
85
85
|
name: rake
|
86
86
|
requirement: !ruby/object:Gem::Requirement
|
87
87
|
requirements:
|
88
|
-
- -
|
88
|
+
- - '>='
|
89
89
|
- !ruby/object:Gem::Version
|
90
90
|
version: '0'
|
91
91
|
type: :development
|
92
92
|
prerelease: false
|
93
93
|
version_requirements: !ruby/object:Gem::Requirement
|
94
94
|
requirements:
|
95
|
-
- -
|
95
|
+
- - '>='
|
96
96
|
- !ruby/object:Gem::Version
|
97
97
|
version: '0'
|
98
98
|
- !ruby/object:Gem::Dependency
|
99
99
|
name: rack-test
|
100
100
|
requirement: !ruby/object:Gem::Requirement
|
101
101
|
requirements:
|
102
|
-
- -
|
102
|
+
- - '>='
|
103
103
|
- !ruby/object:Gem::Version
|
104
104
|
version: '0'
|
105
105
|
type: :development
|
106
106
|
prerelease: false
|
107
107
|
version_requirements: !ruby/object:Gem::Requirement
|
108
108
|
requirements:
|
109
|
-
- -
|
109
|
+
- - '>='
|
110
110
|
- !ruby/object:Gem::Version
|
111
111
|
version: '0'
|
112
112
|
- !ruby/object:Gem::Dependency
|
113
113
|
name: rspec
|
114
114
|
requirement: !ruby/object:Gem::Requirement
|
115
115
|
requirements:
|
116
|
-
- -
|
116
|
+
- - '>='
|
117
117
|
- !ruby/object:Gem::Version
|
118
118
|
version: 3.0.0
|
119
119
|
type: :development
|
120
120
|
prerelease: false
|
121
121
|
version_requirements: !ruby/object:Gem::Requirement
|
122
122
|
requirements:
|
123
|
-
- -
|
123
|
+
- - '>='
|
124
124
|
- !ruby/object:Gem::Version
|
125
125
|
version: 3.0.0
|
126
126
|
- !ruby/object:Gem::Dependency
|
127
127
|
name: simplecov
|
128
128
|
requirement: !ruby/object:Gem::Requirement
|
129
129
|
requirements:
|
130
|
-
- -
|
130
|
+
- - '>='
|
131
131
|
- !ruby/object:Gem::Version
|
132
132
|
version: '0'
|
133
133
|
type: :development
|
134
134
|
prerelease: false
|
135
135
|
version_requirements: !ruby/object:Gem::Requirement
|
136
136
|
requirements:
|
137
|
-
- -
|
137
|
+
- - '>='
|
138
138
|
- !ruby/object:Gem::Version
|
139
139
|
version: '0'
|
140
140
|
- !ruby/object:Gem::Dependency
|
141
141
|
name: coveralls
|
142
142
|
requirement: !ruby/object:Gem::Requirement
|
143
143
|
requirements:
|
144
|
-
- -
|
144
|
+
- - '>='
|
145
145
|
- !ruby/object:Gem::Version
|
146
146
|
version: '0'
|
147
147
|
type: :development
|
148
148
|
prerelease: false
|
149
149
|
version_requirements: !ruby/object:Gem::Requirement
|
150
150
|
requirements:
|
151
|
-
- -
|
151
|
+
- - '>='
|
152
152
|
- !ruby/object:Gem::Version
|
153
153
|
version: '0'
|
154
154
|
description: Lita handler for ESPN Fantasy Football
|
@@ -183,17 +183,17 @@ require_paths:
|
|
183
183
|
- lib
|
184
184
|
required_ruby_version: !ruby/object:Gem::Requirement
|
185
185
|
requirements:
|
186
|
-
- -
|
186
|
+
- - '>='
|
187
187
|
- !ruby/object:Gem::Version
|
188
188
|
version: '0'
|
189
189
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
190
190
|
requirements:
|
191
|
-
- -
|
191
|
+
- - '>='
|
192
192
|
- !ruby/object:Gem::Version
|
193
193
|
version: '0'
|
194
194
|
requirements: []
|
195
195
|
rubyforge_project:
|
196
|
-
rubygems_version: 2.4.
|
196
|
+
rubygems_version: 2.4.6
|
197
197
|
signing_key:
|
198
198
|
specification_version: 4
|
199
199
|
summary: Lita handler for ESPN Fantasy Football
|