pitch_fx_scraper 0.0.2 → 0.0.3

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,15 +1,15 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
3
  metadata.gz: !binary |-
4
- YjRiYWMwMjY4MTUwMzZiNGRhZWFiM2M1YjljZjgxODY1NjJjOWM3Yg==
4
+ MDdlOGJkNTk5MGMwOGYxODgyZTQ4ODVjOTUzOWFkYjNhMjhmNmY2OA==
5
5
  data.tar.gz: !binary |-
6
- MWZmOTM5NThkMWJlOGU3MDNiOTc5YTdjODg2MTUxNTU1ZmI1ZDFmYQ==
6
+ NGEwZWNhNTc1MDMzMTcyNGJjNTNhMDE1ZTJlNjEzM2QwNzljY2RlMA==
7
7
  SHA512:
8
8
  metadata.gz: !binary |-
9
- YTRiNWZlYjdmMWM3YmNhZDNiOTFlNWY0NmZhMGVlOWRjZTI4NzU3M2VkZjNh
10
- YWQ4YjllMjIyY2MyYjk5YjJkN2U5MzgzOWY1MTc2ZWJkNTdiMzMxZTRiZjcz
11
- MDA0OTUzOWQzNDMzMjIxYTU1MmUyMWU1Yzc1NDYxZWQyN2E5MGQ=
9
+ NWI4NDVhMDY5YTljYWRjYzVlMDYzZTRmNzMxMGYxOTI3YjJjNWU4NWEzYWU3
10
+ NzZmM2ViYWFiYjAwMmEyMDQxZmNiNTUwYjJlZTJkMWI1ZTljOGM2NjFjMzI5
11
+ ODg3ZWQxMTJmNzY1ZWQxNzU0ZWY3YzA4MDY2YzU3ODk1YmUwNWM=
12
12
  data.tar.gz: !binary |-
13
- OTIxMWIxNjlkYzNjMDFmMWQwOGZlNjRjMzY5MTI3NGFlNTllOGM3OTdkODNm
14
- MjcxNzkyMWNiNTQxM2UyNTEwNDExYmU1N2Q3OWFhYmRhOGVkNDZlNzc5MTJj
15
- YjI3NGUzMGUwN2JjMGQ3ZGJiZTA5MjIyZjZjMzNjNGI4YTA3MDg=
13
+ MTI0ZmY0OTMwM2Y0NjNhNTA5YzQxMDMyMTk2ZjA4YzljOTAwYjE1ZWYxMWFi
14
+ ZjE4ODllNmQ0MTJhMDZmNjJiNzgzOTU0N2I5M2Q3ZDhhZWYxNTBhYTQwOTQw
15
+ NjU2OTMwYTJjOTlhMmU1MDA3NTM5Y2I1MDk3ZWI0NGRkYzdmMWM=
@@ -7,11 +7,15 @@ module Fetch
7
7
 
8
8
  @@host_url_base = "http://gd2.mlb.com"
9
9
 
10
- def Fetch.url_for_date(date, milb=false)
10
+ def Fetch.url_for_date(date, league=:mlb)
11
11
  date_object = Chronic.parse(date)
12
- if milb == false
12
+ if league == :mlb
13
13
  url_base = @@host_url_base + "/components/game/mlb/"
14
- else
14
+ elsif league == :milb_high
15
+ url_base = @@host_url_base + "/components/game/min/"
16
+ elsif league == :milb_low
17
+ url_base = @@host_url_base + "/components/game/min/"
18
+ elsif league == :milb
15
19
  url_base = @@host_url_base + "/components/game/milb/"
16
20
  end
17
21
  url_base += "year_#{"%04d" % date_object.year}/"
@@ -19,15 +23,42 @@ module Fetch
19
23
  url_base += "day_#{"%02d" % date_object.day}"
20
24
  end
21
25
 
26
+ ## Return a list of home games for date
27
+ ##
28
+ def Fetch.get_game_home_teams(date, league=:mlb)
29
+ if league == :mlb
30
+ master_scoreboard_url = Fetch.url_for_date(date,league) + "/master_scoreboard.xml"
31
+ elsif league == :milb_high
32
+ master_scoreboard_url = Fetch.url_for_date(date,league) + "/mobile_epg_min_high.xml"
33
+ elsif league == :milb_low
34
+ master_scoreboard_url = Fetch.url_for_date(date,league) + "/mobile_epg_min_low.xml"
35
+ end
36
+
37
+ scoreboard = Nokogiri::XML(open(master_scoreboard_url))
38
+
39
+ game_teams = []
40
+
41
+ scoreboard.xpath("//game").each do |node|
42
+ if (league == :milb_high || league == :milb_low)
43
+ home_city = node.attr('home_team_city')
44
+ home_team = node.attr('home_team_name')
45
+ end
46
+
47
+ game_teams << home_city+" "+home_team
48
+ end
49
+
50
+ return game_teams
51
+ end
52
+
22
53
 
23
54
  ## Return a list of hashes containing game data urls
24
55
  ## with game ids for a given date string
25
56
  ##
26
- def Fetch.get_game_urls(date, milb=false)
27
- if milb == false
57
+ def Fetch.get_game_urls(date, league=:mlb)
58
+ if league == :mlb
28
59
  master_scoreboard_url = Fetch.url_for_date(date) + "/master_scoreboard.xml"
29
60
  else
30
- master_scoreboard_url = Fetch.url_for_date(date,milb) + "/milb_master_game_file.xml"
61
+ master_scoreboard_url = Fetch.url_for_date(date,league) + "/milb_master_game_file.xml"
31
62
  end
32
63
 
33
64
  scoreboard = Nokogiri::XML(open(master_scoreboard_url))
@@ -35,7 +66,7 @@ module Fetch
35
66
  game_urls = []
36
67
 
37
68
  scoreboard.xpath("//game").each do |node|
38
- if milb == false
69
+ if league == :mlb
39
70
  game_path = node.attr('game_data_directory')
40
71
  game_id = node.attr('gameday')
41
72
  game_url = @@host_url_base + game_path + "/game_events.xml"
@@ -53,7 +84,7 @@ module Fetch
53
84
  ## Return a list of hashes containing home team data
54
85
  ## for a given date string
55
86
  def Fetch.get_milb_schedule (date)
56
- game_boxscores = Fetch.get_game_urls(date, true)
87
+ game_boxscores = Fetch.get_game_urls(date, :milb)
57
88
 
58
89
  games = []
59
90
 
@@ -1,3 +1,3 @@
1
1
  module PitchFxScraper
2
- VERSION = "0.0.2"
2
+ VERSION = "0.0.3"
3
3
  end
data/spec/fetch_spec.rb CHANGED
@@ -11,7 +11,7 @@ describe Fetch do
11
11
 
12
12
  it 'should return a valid milb url for 2014-04-24' do
13
13
  our_date = '2014-04-24'
14
- result = Fetch.url_for_date(our_date, true)
14
+ result = Fetch.url_for_date(our_date, :milb)
15
15
  result.should == 'http://gd2.mlb.com/components/game/milb/year_2014/month_04/day_24'
16
16
  end
17
17
  end
@@ -38,4 +38,11 @@ describe Fetch do
38
38
  end
39
39
  end
40
40
 
41
+ describe "get_milb_home_teams" do
42
+ it 'should have Trenton on July 11th 2014' do
43
+ list_of_games = Fetch.get_game_home_teams('July 11th 2014', :milb_high)
44
+ list_of_games.should include('Trenton Thunder')
45
+ end
46
+ end
47
+
41
48
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pitch_fx_scraper
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - David Sachitano
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-09-28 00:00:00.000000000 Z
11
+ date: 2014-10-05 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler