greenmonster 0.5.0 → 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (57) hide show
  1. checksums.yaml +7 -0
  2. data/CODE_OF_CONDUCT.md +13 -0
  3. data/LICENSE.txt +21 -0
  4. data/README.markdown +11 -28
  5. data/Rakefile +3 -8
  6. data/doc/Gemfile.html +6 -24
  7. data/doc/Greenmonster/Spider.html +47 -258
  8. data/doc/Greenmonster.html +25 -86
  9. data/doc/Rakefile.html +10 -25
  10. data/doc/created.rid +12 -18
  11. data/doc/index.html +6 -24
  12. data/doc/js/search_index.js +1 -1
  13. data/doc/table_of_contents.html +12 -129
  14. data/greenmonster.gemspec +16 -13
  15. data/lib/greenmonster/day_spider.rb +61 -0
  16. data/lib/greenmonster/file_downloader.rb +38 -0
  17. data/lib/greenmonster/game_spider.rb +100 -0
  18. data/lib/greenmonster/innings_downloader.rb +41 -0
  19. data/lib/greenmonster/spider.rb +1 -0
  20. data/lib/greenmonster/version.rb +2 -2
  21. data/lib/greenmonster.rb +16 -82
  22. data/spec/cassettes/aaa/year_2015/month_05/day_09.yml +153 -0
  23. data/spec/cassettes/gid_2007_10_01_sdnmlb_colmlb_1/innings.yml +135 -0
  24. data/spec/cassettes/gid_2015_04_18_balmlb_bos_mlb_1/players_xml.yml +292 -0
  25. data/spec/cassettes/gid_2015_04_18_balmlb_bos_mlb_2/players_xml.yml +46 -0
  26. data/spec/cassettes/mlb/year_2015/month_04/day_18.yml +170 -0
  27. data/spec/day_spider_spec.rb +80 -0
  28. data/spec/file_downloader_spec.rb +51 -0
  29. data/spec/fixtures/aaa_players.xml +70 -0
  30. data/spec/fixtures/boxscore.xml +1147 -0
  31. data/spec/fixtures/inning_all.xml +1 -0
  32. data/spec/fixtures/inning_hit.xml +1 -0
  33. data/spec/fixtures/linescore.xml +131 -0
  34. data/spec/fixtures/players.xml +63 -0
  35. data/spec/game_spider_spec.rb +116 -0
  36. data/spec/greenmonster_spec.rb +22 -34
  37. data/spec/innings_downloader_spec.rb +44 -0
  38. data/spec/spec_helper.rb +13 -21
  39. data/spec/support/path_helpers.rb +21 -0
  40. data/spec/support/vcr.rb +11 -0
  41. metadata +91 -67
  42. data/doc/Athlete.html +0 -254
  43. data/doc/Greenmonster/Generators/InstallGenerator.html +0 -253
  44. data/doc/Greenmonster/Generators.html +0 -147
  45. data/doc/Greenmonster/Parser.html +0 -263
  46. data/doc/Greenmonster/Player.html +0 -236
  47. data/doc/GreenmonsterPlayerTest.html +0 -199
  48. data/doc/GreenmonsterSpiderTest.html +0 -668
  49. data/doc/GreenmonsterTest.html +0 -262
  50. data/doc/GreenmonsterTraversalTest.html +0 -376
  51. data/doc/InstallGreenmonster.html +0 -260
  52. data/doc/TestCreatePlayersFromGamedayXMLGame.html +0 -266
  53. data/doc/TestParsePlayersFromGamedayXMLFiles.html +0 -307
  54. data/spec/games/tst/year_2012/month_03/day_27/gid_2012_03_27_aaamlb_aabmlb_1/blank.txt +0 -0
  55. data/spec/games/tst/year_2012/month_03/day_27/gid_2012_03_27_aaamlb_aabmlb_1_bak/blank.txt +0 -0
  56. data/spec/games/tst/year_2012/month_03/day_27/not_2012_03_27_aaamlb_aabmlb_1/blank.txt +0 -0
  57. data/spec/greenmonster/spider_spec.rb +0 -85
@@ -0,0 +1,51 @@
1
+ require "spec_helper"
2
+
3
+ describe Greenmonster::FileDownloader do
4
+ describe "#pull" do
5
+ it "downloads and saves the requested file to the specified folder" do
6
+ VCR.use_cassette "gid_2015_04_18_balmlb_bos_mlb_1/players.xml" do
7
+ FileUtils.mkdir_p(
8
+ games_path +
9
+ "mlb/year_2015/month_04/day_18" +
10
+ "gid_2015_04_18_balmlb_bosmlb_1"
11
+ )
12
+
13
+ described_class.new(
14
+ game_path: "mlb/year_2015/month_04/day_18/gid_2015_04_18_balmlb_bosmlb_1",
15
+ file_name: "players.xml"
16
+ ).pull
17
+
18
+ expect(
19
+ File.read(
20
+ games_path +
21
+ "mlb/year_2015/month_04/day_18" +
22
+ "gid_2015_04_18_balmlb_bosmlb_1/players.xml"
23
+ )
24
+ ).to eq(File.read("/Users/geoff/github/geoffharcourt/greenmonster/spec/fixtures/players.xml"))
25
+ end
26
+ end
27
+
28
+ it "does not save the file on a non-200 server response" do
29
+ VCR.use_cassette "gid_2015_04_18_balmlb_bos_mlb_2/players.xml" do
30
+ FileUtils.mkdir_p(
31
+ games_path +
32
+ "mlb/year_2015/month_04/day_18" +
33
+ "gid_2015_04_18_balmlb_bosmlb_2"
34
+ )
35
+
36
+ described_class.new(
37
+ game_path: "mlb/year_2015/month_04/day_18/gid_2015_04_18_balmlb_bosmlb_2",
38
+ file_name: "players.xml"
39
+ ).pull
40
+
41
+ expect(
42
+ File.exist?(
43
+ games_path +
44
+ "mlb/year_2015/month_04/day_18" +
45
+ "gid_2015_04_18_balmlb_bosmlb_2/players.xml"
46
+ )
47
+ ).to be_falsy
48
+ end
49
+ end
50
+ end
51
+ end
@@ -0,0 +1,70 @@
1
+ <!--Copyright 2015 MLB Advanced Media, L.P. Use of any content on this page acknowledges agreement to the terms posted here http://gdx.mlb.com/components/copyright.txt--><game venue="Raley Field" date="May 8, 2015">
2
+ <team type="away" id="ALB" name="Albuquerque Isotopes">
3
+ <player id="444836" first="Aaron" last="Laffey" num="34" boxname="Laffey" rl="L" bats="L" position="P" status="A" team_abbrev="ALB" team_id="342" parent_team_abbrev="COL" parent_team_id="115" avg=".333" hr="0" rbi="0" wins="0" losses="0" era="6.75"/>
4
+ <player id="457453" first="Jair" last="Jurrjens" num="29" boxname="Jurrjens" rl="R" bats="R" position="P" status="A" team_abbrev="ALB" team_id="342" parent_team_abbrev="COL" parent_team_id="115" avg=".000" hr="0" rbi="0" wins="0" losses="0" era="3.00"/>
5
+ <player id="458709" first="John" last="Lannan" num="37" boxname="Lannan" rl="L" bats="L" position="P" status="A" team_abbrev="ALB" team_id="342" parent_team_abbrev="COL" parent_team_id="115" avg=".000" hr="0" rbi="0" wins="0" losses="1" era="6.11"/>
6
+ <player id="465668" first="Roger" last="Bernadina" num="22" boxname="Bernadina" rl="L" bats="L" position="LF" current_position="CF" status="A" team_abbrev="ALB" team_id="342" parent_team_abbrev="COL" parent_team_id="115" bat_order="6" game_position="CF" avg=".225" hr="0" rbi="5"/>
7
+ <player id="473724" first="Matt" last="McBride" num="20" boxname="McBride" rl="R" bats="R" position="C" current_position="RF" status="A" team_abbrev="ALB" team_id="342" parent_team_abbrev="COL" parent_team_id="115" bat_order="4" game_position="RF" avg=".178" hr="1" rbi="7"/>
8
+ <player id="488681" first="Brandon" last="Barnes" num="5" boxname="Barnes, B" rl="R" bats="R" position="RF" current_position="PH" status="A" team_abbrev="ALB" team_id="342" parent_team_abbrev="COL" parent_team_id="115" avg=".220" hr="4" rbi="7"/>
9
+ <player id="501563" first="Simon" last="Castro" num="38" boxname="Castro, S" rl="R" bats="R" position="P" current_position="P" status="A" team_abbrev="ALB" team_id="342" parent_team_abbrev="COL" parent_team_id="115" avg=".000" hr="0" rbi="0" wins="3" losses="1" era="4.97"/>
10
+ <player id="502292" first="Joey" last="Wong" num="1" boxname="Wong" rl="R" bats="L" position="3B" status="A" team_abbrev="ALB" team_id="342" parent_team_abbrev="COL" parent_team_id="115" avg=".197" hr="0" rbi="8"/>
11
+ <player id="502522" first="Justin" last="Miller" num="51" boxname="Miller, J" rl="R" bats="R" position="P" status="A" team_abbrev="ALB" team_id="342" parent_team_abbrev="COL" parent_team_id="115" avg=".000" hr="0" rbi="0" wins="0" losses="0" era="0.00"/>
12
+ <player id="516689" first="Angelys" last="Nina" num="6" boxname="Nina" rl="R" bats="R" position="2B" current_position="SS" status="A" team_abbrev="ALB" team_id="342" parent_team_abbrev="COL" parent_team_id="115" bat_order="7" game_position="SS" avg=".269" hr="1" rbi="14"/>
13
+ <player id="518452" first="Chad" last="Bettis" num="35" boxname="Bettis" rl="R" bats="R" position="P" current_position="P" status="A" team_abbrev="ALB" team_id="342" parent_team_abbrev="COL" parent_team_id="115" bat_order="9" game_position="P" avg=".200" hr="0" rbi="0" wins="2" losses="1" era="3.86"/>
14
+ <player id="542436" first="Cristhian" last="Adames" num="2" boxname="Adames" rl="R" bats="S" position="SS" status="A" team_abbrev="ALB" team_id="342" parent_team_abbrev="COL" parent_team_id="115" avg=".329" hr="3" rbi="9"/>
15
+ <player id="543734" first="Chris" last="Rusin" num="21" boxname="Rusin" rl="L" bats="L" position="P" status="A" team_abbrev="ALB" team_id="342" parent_team_abbrev="COL" parent_team_id="115" avg=".333" hr="0" rbi="0" wins="1" losses="2" era="6.23"/>
16
+ <player id="545064" first="Jairo" last="Diaz" num="17" boxname="Diaz, Ja" rl="R" bats="R" position="P" status="A" team_abbrev="ALB" team_id="342" parent_team_abbrev="COL" parent_team_id="115" avg=".000" hr="0" rbi="0" wins="1" losses="2" era="5.68"/>
17
+ <player id="554431" first="Tyler" last="Matzek" num="" boxname="Matzek" rl="L" bats="L" position="P" status="A" team_abbrev="ALB" team_id="342" parent_team_abbrev="COL" parent_team_id="115" avg=".000" hr="0" rbi="0" wins="0" losses="0" era="-"/>
18
+ <player id="571521" first="Rex" last="Brothers" num="49" boxname="Brothers" rl="L" bats="L" position="P" status="A" team_abbrev="ALB" team_id="342" parent_team_abbrev="COL" parent_team_id="115" avg=".000" hr="0" rbi="0" wins="1" losses="0" era="6.30"/>
19
+ <player id="571735" first="David" last="Hale" num="23" boxname="Hale" rl="R" bats="R" position="P" status="A" team_abbrev="ALB" team_id="342" parent_team_abbrev="COL" parent_team_id="115" avg="1.000" hr="0" rbi="1" wins="0" losses="1" era="9.26"/>
20
+ <player id="572019" first="Ben" last="Paulsen" num="10" boxname="Paulsen" rl="R" bats="L" position="1B" current_position="1B" status="A" team_abbrev="ALB" team_id="342" parent_team_abbrev="COL" parent_team_id="115" bat_order="3" game_position="1B" avg=".284" hr="2" rbi="11"/>
21
+ <player id="572076" first="Jose" last="Rivera" num="12" boxname="Rivera, J" rl="R" bats="R" position="2B" current_position="2B" status="A" team_abbrev="ALB" team_id="342" parent_team_abbrev="COL" parent_team_id="115" bat_order="8" game_position="2B" avg=".227" hr="0" rbi="0"/>
22
+ <player id="572254" first="Tim" last="Wheeler" num="7" boxname="Wheeler, T" rl="R" bats="L" position="LF" current_position="LF" status="A" team_abbrev="ALB" team_id="342" parent_team_abbrev="COL" parent_team_id="115" bat_order="1" game_position="LF" avg=".276" hr="5" rbi="16"/>
23
+ <player id="572863" first="Dustin" last="Garneau" num="13" boxname="Garneau" rl="R" bats="R" position="C" current_position="C" status="A" team_abbrev="ALB" team_id="342" parent_team_abbrev="COL" parent_team_id="115" bat_order="5" game_position="C" avg=".352" hr="4" rbi="14"/>
24
+ <player id="592205" first="Ryan" last="Casteel" num="9" boxname="Casteel" rl="R" bats="R" position="C" status="A" team_abbrev="ALB" team_id="342" parent_team_abbrev="COL" parent_team_id="115" avg=".362" hr="0" rbi="7"/>
25
+ <player id="592351" first="Jon" last="Gray" num="55" boxname="Gray" rl="R" bats="R" position="P" status="A" team_abbrev="ALB" team_id="342" parent_team_abbrev="COL" parent_team_id="115" avg=".000" hr="0" rbi="0" wins="1" losses="3" era="9.13"/>
26
+ <player id="592454" first="Tommy" last="Kahnle" num="54" boxname="Kahnle" rl="R" bats="R" position="P" status="A" team_abbrev="ALB" team_id="342" parent_team_abbrev="COL" parent_team_id="115" avg=".000" hr="0" rbi="0" wins="0" losses="2" era="4.70"/>
27
+ <player id="592621" first="Kyle" last="Parker" num="11" boxname="Parker, K" rl="R" bats="R" position="RF" status="A" team_abbrev="ALB" team_id="342" parent_team_abbrev="COL" parent_team_id="115" avg=".152" hr="2" rbi="9"/>
28
+ <player id="593997" first="Cesar" last="Galvez" num="" boxname="Galvez, Ce" rl="R" bats="S" position="SS" status="A" team_abbrev="ALB" team_id="342" parent_team_abbrev="COL" parent_team_id="115" avg=".000" hr="0" rbi="0"/>
29
+ <player id="594999" first="Tim" last="Smalling" num="8" boxname="Smalling" rl="R" bats="R" position="I" current_position="3B" status="A" team_abbrev="ALB" team_id="342" parent_team_abbrev="COL" parent_team_id="115" bat_order="2" game_position="3B" avg=".256" hr="1" rbi="7"/>
30
+ <player id="623421" first="Ryan" last="Arrowood" num="18" boxname="Arrowood" rl="R" bats="R" position="P" status="A" team_abbrev="ALB" team_id="342" parent_team_abbrev="COL" parent_team_id="115" avg=".000" hr="0" rbi="0" wins="1" losses="0" era="4.38"/>
31
+ <coach position="manager" first="Glenallen" last="Hill" id="115935" num="31"/><coach position="hitting_coach" first="Dave" last="Hajek" id="115320" num="3"/><coach position="pitching_coach" first="Darryl" last="Scott" id="121927" num="43"/> </team>
32
+ <team type="home" id="SAC" name="Sacramento River Cats">
33
+ <player id="425565" first="Guillermo" last="Quiroz" num="6" boxname="Quiroz" rl="R" bats="R" position="C" status="A" team_abbrev="SAC" team_id="105" parent_team_abbrev="SF" parent_team_id="137" avg=".211" hr="0" rbi="7"/>
34
+ <player id="429781" first="Kevin" last="Correia" num="40" boxname="Correia" rl="R" bats="R" position="P" status="A" team_abbrev="SAC" team_id="105" parent_team_abbrev="SF" parent_team_id="137" avg=".000" hr="0" rbi="0" wins="0" losses="0" era="3.00"/>
35
+ <player id="430592" first="Ronny" last="Cedeno" num="5" boxname="Cedeno, R" rl="R" bats="R" position="2B" current_position="2B" status="A" team_abbrev="SAC" team_id="105" parent_team_abbrev="SF" parent_team_id="137" bat_order="1" game_position="2B" avg=".276" hr="2" rbi="11"/>
36
+ <player id="434641" first="Juan" last="Gutierrez" num="29" boxname="Gutierrez" rl="R" bats="R" position="P" status="A" team_abbrev="SAC" team_id="105" parent_team_abbrev="SF" parent_team_id="137" avg=".000" hr="0" rbi="0" wins="0" losses="1" era="5.52"/>
37
+ <player id="435624" first="John" last="Bowker" num="23" boxname="Bowker" rl="L" bats="L" position="1B" current_position="PH" status="A" team_abbrev="SAC" team_id="105" parent_team_abbrev="SF" parent_team_id="137" avg=".313" hr="1" rbi="9"/>
38
+ <player id="445193" first="Robert" last="Coello" num="18" boxname="Coello" rl="R" bats="R" position="P" status="A" team_abbrev="SAC" team_id="105" parent_team_abbrev="SF" parent_team_id="137" avg=".125" hr="0" rbi="0" wins="4" losses="1" era="3.97"/>
39
+ <player id="448170" first="Travis" last="Ishikawa" num="12" boxname="Ishikawa" rl="L" bats="L" position="1B" current_position="1B" status="A" team_abbrev="SAC" team_id="105" parent_team_abbrev="SF" parent_team_id="137" bat_order="4" game_position="1B" avg=".333" hr="0" rbi="0"/>
40
+ <player id="449060" first="Clay" last="Rapada" num="39" boxname="Rapada" rl="L" bats="R" position="P" status="A" team_abbrev="SAC" team_id="105" parent_team_abbrev="SF" parent_team_id="137" avg=".000" hr="0" rbi="0" wins="0" losses="0" era="0.00"/>
41
+ <player id="449170" first="Erik" last="Cordier" num="50" boxname="Cordier" rl="R" bats="R" position="P" current_position="P" status="A" team_abbrev="SAC" team_id="105" parent_team_abbrev="SF" parent_team_id="137" avg=".000" hr="0" rbi="0" wins="0" losses="0" era="3.60"/>
42
+ <player id="452096" first="Darren" last="Ford" num="14" boxname="Ford, D" rl="R" bats="R" position="LF" status="A" team_abbrev="SAC" team_id="105" parent_team_abbrev="SF" parent_team_id="137" avg=".265" hr="1" rbi="2"/>
43
+ <player id="452254" first="Hunter" last="Pence" num="9" boxname="Pence" rl="R" bats="R" position="RF" current_position="RF" status="A" team_abbrev="SAC" team_id="105" parent_team_abbrev="SF" parent_team_id="137" bat_order="3" game_position="RF" avg=".000" hr="0" rbi="0"/>
44
+ <player id="458678" first="Mike" last="Broadway" num="22" boxname="Broadway" rl="R" bats="R" position="P" current_position="P" status="A" team_abbrev="SAC" team_id="105" parent_team_abbrev="SF" parent_team_id="137" avg=".000" hr="0" rbi="0" wins="0" losses="0" era="0.77"/>
45
+ <player id="473239" first="Juan" last="Ciriaco" num="13" boxname="Ciriaco" rl="R" bats="R" position="SS" current_position="SS" status="A" team_abbrev="SAC" team_id="105" parent_team_abbrev="SF" parent_team_id="137" bat_order="7" game_position="SS" avg=".259" hr="1" rbi="6"/>
46
+ <player id="488878" first="Austin" last="Fleet" num="" boxname="Fleet" rl="R" bats="R" position="P" status="A" team_abbrev="SAC" team_id="105" parent_team_abbrev="SF" parent_team_id="137" avg=".000" hr="0" rbi="0" wins="1" losses="2" era="5.79"/>
47
+ <player id="489067" first="Ryan" last="Lollis" num="35" boxname="Lollis" rl="L" bats="L" position="LF" current_position="CF" status="A" team_abbrev="SAC" team_id="105" parent_team_abbrev="SF" parent_team_id="137" bat_order="2" game_position="CF" avg=".286" hr="1" rbi="1"/>
48
+ <player id="489197" first="Curtis" last="Partch" num="46" boxname="Partch" rl="R" bats="R" position="P" status="A" team_abbrev="SAC" team_id="105" parent_team_abbrev="SF" parent_team_id="137" avg=".000" hr="0" rbi="0" wins="1" losses="0" era="3.24"/>
49
+ <player id="501303" first="Ehire" last="Adrianza" num="7" boxname="Adrianza" rl="R" bats="S" position="2B" status="A" team_abbrev="SAC" team_id="105" parent_team_abbrev="SF" parent_team_id="137" avg=".250" hr="2" rbi="5"/>
50
+ <player id="508892" first="Carlos" last="Triunfel" num="8" boxname="Triunfel" rl="R" bats="R" position="SS" status="A" team_abbrev="SAC" team_id="105" parent_team_abbrev="SF" parent_team_id="137" avg=".234" hr="0" rbi="3"/>
51
+ <player id="518715" first="Cory" last="Gearrin" num="" boxname="Gearrin" rl="R" bats="R" position="P" status="A" team_abbrev="SAC" team_id="105" parent_team_abbrev="SF" parent_team_id="137" avg=".000" hr="0" rbi="0" wins="0" losses="0" era="0.00"/>
52
+ <player id="518794" first="Brandon" last="Hicks" num="" boxname="Hicks" rl="R" bats="R" position="2B" status="A" team_abbrev="SAC" team_id="105" parent_team_abbrev="SF" parent_team_id="137" avg=".357" hr="0" rbi="1"/>
53
+ <player id="519326" first="Hunter" last="Strickland" num="17" boxname="Strickland" rl="R" bats="R" position="P" status="A" team_abbrev="SAC" team_id="105" parent_team_abbrev="SF" parent_team_id="137" avg=".000" hr="0" rbi="0" wins="1" losses="1" era="2.45"/>
54
+ <player id="522848" first="Skyler" last="Stromsmoe" num="43" boxname="Stromsmoe" rl="R" bats="S" position="2B" status="A" team_abbrev="SAC" team_id="105" parent_team_abbrev="SF" parent_team_id="137" avg=".282" hr="0" rbi="4"/>
55
+ <player id="542316" first="Braulio" last="Lara" num="48" boxname="Lara, B" rl="L" bats="L" position="P" status="A" team_abbrev="SAC" team_id="105" parent_team_abbrev="SF" parent_team_id="137" avg=".000" hr="0" rbi="0" wins="0" losses="4" era="8.57"/>
56
+ <player id="543633" first="Juan" last="Perez" num="2" boxname="Perez, J" rl="R" bats="R" position="RF" current_position="LF" status="A" team_abbrev="SAC" team_id="105" parent_team_abbrev="SF" parent_team_id="137" avg=".250" hr="0" rbi="8"/>
57
+ <player id="543867" first="Nik" last="Turley" num="45" boxname="Turley" rl="L" bats="L" position="P" status="A" team_abbrev="SAC" team_id="105" parent_team_abbrev="SF" parent_team_id="137" avg=".000" hr="0" rbi="0" wins="0" losses="1" era="13.50"/>
58
+ <player id="571804" first="Brett" last="Jackson" num="26" boxname="Jackson, B" rl="R" bats="L" position="CF" status="A" team_abbrev="SAC" team_id="105" parent_team_abbrev="SF" parent_team_id="137" avg=".261" hr="0" rbi="5"/>
59
+ <player id="572827" first="Jake" last="Dunning" num="21" boxname="Dunning" rl="R" bats="R" position="P" status="A" team_abbrev="SAC" team_id="105" parent_team_abbrev="SF" parent_team_id="137" avg=".250" hr="0" rbi="2" wins="2" losses="1" era="5.61"/>
60
+ <player id="592620" first="Jarrett" last="Parker" num="47" boxname="Parker, J" rl="L" bats="L" position="RF" current_position="RF" status="A" team_abbrev="SAC" team_id="105" parent_team_abbrev="SF" parent_team_id="137" bat_order="6" game_position="LF" avg=".261" hr="6" rbi="23"/>
61
+ <player id="594762" first="Brett" last="Bochy" num="32" boxname="Bochy" rl="R" bats="R" position="P" status="A" team_abbrev="SAC" team_id="105" parent_team_abbrev="SF" parent_team_id="137" avg=".000" hr="0" rbi="0" wins="2" losses="0" era="5.11"/>
62
+ <player id="594807" first="Adam" last="Duvall" num="37" boxname="Duvall" rl="R" bats="R" position="1B" current_position="3B" status="A" team_abbrev="SAC" team_id="105" parent_team_abbrev="SF" parent_team_id="137" bat_order="5" game_position="3B" avg=".333" hr="8" rbi="25"/>
63
+ <player id="595235" first="Cody" last="Hall" num="34" boxname="Hall" rl="R" bats="R" position="P" current_position="P" status="A" team_abbrev="SAC" team_id="105" parent_team_abbrev="SF" parent_team_id="137" avg=".000" hr="0" rbi="0" wins="1" losses="0" era="1.13"/>
64
+ <player id="595345" first="Steven" last="Okert" num="16" boxname="Okert" rl="L" bats="L" position="P" status="A" team_abbrev="SAC" team_id="105" parent_team_abbrev="SF" parent_team_id="137" avg=".000" hr="0" rbi="0" wins="1" losses="0" era="0.63"/>
65
+ <player id="607185" first="Clayton" last="Blackburn" num="48" boxname="Blackburn" rl="R" bats="L" position="P" status="A" team_abbrev="SAC" team_id="105" parent_team_abbrev="SF" parent_team_id="137" avg=".000" hr="0" rbi="0" wins="0" losses="0" era="-"/>
66
+ <player id="621389" first="Ty" last="Blach" num="31" boxname="Blach" rl="L" bats="R" position="P" current_position="P" status="A" team_abbrev="SAC" team_id="105" parent_team_abbrev="SF" parent_team_id="137" bat_order="9" game_position="P" avg=".400" hr="0" rbi="0" wins="2" losses="2" era="3.94"/>
67
+ <player id="621533" first="Ben" last="Turner" num="10" boxname="Turner" rl="R" bats="R" position="C" current_position="C" status="A" team_abbrev="SAC" team_id="105" parent_team_abbrev="SF" parent_team_id="137" bat_order="8" game_position="C" avg=".692" hr="0" rbi="2"/>
68
+ <player id="623143" first="Trevor" last="Brown" num="12" boxname="Brown, T" rl="R" bats="R" position="C" status="A" team_abbrev="SAC" team_id="105" parent_team_abbrev="SF" parent_team_id="137" avg=".174" hr="0" rbi="1"/>
69
+ <coach position="manager" first="Bob" last="Mariano" id="580102" num="19"/><coach position="hitting_coach" first="Andy" last="Skeels" id="442968" num="15"/><coach position="pitching_coach" first="Dwight" last="Bernard" id="110916" num="28"/> </team>
70
+ <umpires><umpire position="home" name="Spencer Flynn" id="503504" first="Spencer" last="Flynn"/><umpire position="first" name="Jeff Morrow" id="544271" first="Jeff" last="Morrow"/><umpire position="second" name=" " id="0" first="" last=""/><umpire position="third" name="Chris Gonzalez" id="573633" first="Chris" last="Gonzalez"/></umpires></game>