]> gitweb.michael.orlitzky.com - dead/htsn-import.git/blobdiff - src/TSN/XML/SportInfo.hs
Add SportInfo support for MLB_Fielding_XML.dtd (overlooked somehow).
[dead/htsn-import.git] / src / TSN / XML / SportInfo.hs
index 132dcefab402bb3367da05a4aa1ad4dfb7b1091b..7c5f1ac6da983dc2d6b4a8c6f2af007d0cc43431 100644 (file)
@@ -25,6 +25,7 @@ where
 
 -- System imports.
 import Data.Either ( rights )
+import Data.String.Utils ( replace )
 import Data.Time.Clock ( UTCTime )
 import Database.Groundhog (
   countAll,
@@ -60,10 +61,6 @@ import Xml (
 
 -- | The DTDs for everything that we consider \"Sport Info.\"
 --
---   TODO: This is the list from the old implementation. We need to
---   make sure that we are really receiving XML for these DTDs
---   (i.e. the names are correct).
---
 dtds :: [String]
 dtds =
   [ "CBASK_3PPctXML.dtd",
@@ -78,17 +75,11 @@ dtds =
     "CBASK_FGPctXML.dtd",
     "CBASK_FoulsXML.dtd",
     "CBASK_FTPctXML.dtd",
-    "Cbask_Indv_No_Avg_XML.dtd", -- no dtd
     "Cbask_Indv_Scoring_XML.dtd",
-    "Cbask_Indv_Shooting_XML.dtd", -- no dtd
     "CBASK_MinutesXML.dtd",
     "Cbask_Polls_XML.dtd",
     "CBASK_ReboundsXML.dtd",
     "CBASK_ScoringLeadersXML.dtd",
-    "CBASK_StealsXML.dtd", -- no dtd
-    "Cbask_Team_Scoring_Rebound_Margin_XML.dtd", -- no dtd
-    "Cbask_Team_Scoring_XML.dtd", -- no dtd
-    "Cbask_Team_Shooting_Pct_XML.dtd", -- no dtd
     "Cbask_Team_ThreePT_Made_XML.dtd",
     "Cbask_Team_ThreePT_PCT_XML.dtd",
     "Cbask_Team_Win_Pct_XML.dtd",
@@ -156,64 +147,53 @@ dtds =
     "NBA3PPctXML.dtd",
     "NBAAssistsXML.dtd",
     "NBABlocksXML.dtd",
-    "nbaconfrecxml.dtd", -- no dtd
-    "nbadaysxml.dtd", -- no dtd
-    "nbadivisionsxml.dtd", -- no dtd
-    "NBAFGPctXML.dtd", -- no dtd
-    "NBAFoulsXML.dtd", -- no dtd
-    "NBAFTPctXML.dtd", -- no dtd
-    "NBAMinutesXML.dtd", -- no dtd
-    "NBAReboundsXML.dtd", -- no dtd
-    "NBAScorersXML.dtd", -- no dtd
-    "nbastandxml.dtd", -- no dtd
-    "NBAStealsXML.dtd", -- no dtd
-    "nbateamleadersxml.dtd", -- no dtd
-    "nbatripledoublexml.dtd", -- no dtd
-    "NBATurnoversXML.dtd", -- no dtd
-    "NCAA_Conference_Schedule_XML.dtd", -- no dtd
-    "nflfirstdownxml.dtd", -- no dtd
-    "NFLFumbleLeaderXML.dtd", -- no dtd
-    "NFLGiveTakeXML.dtd", -- no dtd
-    "NFLGrassTurfDomeOutsideXML.dtd", -- no dtd
-    "NFLInside20XML.dtd", -- no dtd
-    "NFLInterceptionLeadersXML.dtd", -- no dtd
-    "NFLKickoffsXML.dtd", -- no dtd
-    "NFLMondayNightXML.dtd", -- no dtd
-    "NFLPassingLeadersXML.dtd", -- no dtd
-    "NFLPassLeadXML.dtd", -- no dtd
-    "NFLQBStartsXML.dtd", -- no dtd
-    "NFLReceivingLeadersXML.dtd", -- no dtd
-    "NFLRushingLeadersXML.dtd", -- no dtd
-    "NFLSackLeadersXML.dtd", -- no dtd
-    "nflstandxml.dtd", -- no dtd
-    "NFLTackleFFLeadersXML.dtd", -- no dtd
-    "NFLTeamRankingsXML.dtd", -- no dtd
-    "NFLTopKickoffReturnXML.dtd", -- no dtd
-    "NFLTopPerformanceXML.dtd", -- no dtd
-    "NFLTopPuntReturnXML.dtd", -- no dtd
-    "NFLTotalYardageXML.dtd", -- no dtd
-    "NFLYardsXML.dtd", -- no dtd
-    "NFL_KickingLeaders_XML.dtd", -- no dtd
-    "NFL_NBA_Draft_XML.dtd", -- no dtd
-    "NFL_PuntingLeaders_XML.dtd", -- no dtd
-    "NFL_Roster_XML.dtd", -- no dtd
-    "NFL_Team_Stats_XML.dtd", -- no dtd
-    "Transactions_XML.dtd", -- no dtd
-    "Weekly_Sched_XML.dtd", -- no dtd
-    "WNBA_Team_Leaders_XML.dtd", -- no dtd
-    "WNBA3PPctXML.dtd", -- no dtd
-    "WNBAAssistsXML.dtd", -- no dtd
-    "WNBABlocksXML.dtd", -- no dtd
-    "WNBAFGPctXML.dtd", -- no dtd
-    "WNBAFoulsXML.dtd", -- no dtd
-    "WNBAFTPctXML.dtd", -- no dtd
-    "WNBAMinutesXML.dtd", -- no dtd
-    "WNBAReboundsXML.dtd", -- no dtd
-    "WNBAScorersXML.dtd", -- no dtd
-    "wnbastandxml.dtd", -- no dtd
-    "WNBAStealsXML.dtd", -- no dtd
-    "WNBATurnoversXML.dtd" -- no dtd
-  ]
+    "nbaconfrecxml.dtd",
+    "nbadaysxml.dtd",
+    "nbadivisionsxml.dtd",
+    "NBAFGPctXML.dtd",
+    "NBAFoulsXML.dtd",
+    "NBAFTPctXML.dtd",
+    "NBAMinutesXML.dtd",
+    "NBAReboundsXML.dtd",
+    "NBAScorersXML.dtd",
+    "nbastandxml.dtd",
+    "NBAStealsXML.dtd",
+    "nbateamleadersxml.dtd",
+    "nbatripledoublexml.dtd",
+    "NBATurnoversXML.dtd",
+    "NCAA_Conference_Schedule_XML.dtd",
+    "nflfirstdownxml.dtd",
+    "NFLFumbleLeaderXML.dtd",
+    "NFLGiveTakeXML.dtd",
+    "NFLInside20XML.dtd",
+    "NFLKickoffsXML.dtd",
+    "NFLMondayNightXML.dtd",
+    "NFLPassLeadXML.dtd",
+    "NFLQBStartsXML.dtd",
+    "NFLSackLeadersXML.dtd",
+    "nflstandxml.dtd",
+    "NFLTeamRankingsXML.dtd",
+    "NFLTopPerformanceXML.dtd",
+    "NFLTotalYardageXML.dtd",
+    "NFL_KickingLeaders_XML.dtd",
+    "NFL_NBA_Draft_XML.dtd",
+    "NFL_Roster_XML.dtd",
+    "NFL_Team_Stats_XML.dtd",
+    "Transactions_XML.dtd",
+    "Weekly_Sched_XML.dtd",
+    "WNBA_Team_Leaders_XML.dtd",
+    "WNBA3PPctXML.dtd",
+    "WNBAAssistsXML.dtd",
+    "WNBABlocksXML.dtd",
+    "WNBAFGPctXML.dtd",
+    "WNBAFoulsXML.dtd",
+    "WNBAFTPctXML.dtd",
+    "WNBAMinutesXML.dtd",
+    "WNBAReboundsXML.dtd",
+    "WNBAScorersXML.dtd",
+    "wnbastandxml.dtd",
+    "WNBAStealsXML.dtd",
+    "WNBATurnoversXML.dtd" ]
 
 
 -- | XML representation of a SportInfo \<message\>.
@@ -316,92 +296,10 @@ sport_info_tests =
 --
 sport_info_test_files :: [FilePath]
 sport_info_test_files =
-  map ("test/xml/sportinfo/" ++) [
-    "CBASK_3PPctXML.xml",
-    "Cbask_All_Tourn_Teams_XML.xml",
-    "CBASK_AssistsXML.xml",
-    "Cbask_Awards_XML.xml",
-    "CBASK_BlocksXML.xml",
-    "Cbask_Conf_Standings_XML.xml",
-    "Cbask_DivII_III_Indv_Stats_XML.xml",
-    "Cbask_DivII_Team_Stats_XML.xml",
-    "Cbask_DivIII_Team_Stats_XML.xml",
-    "CBASK_FGPctXML.xml",
-    "CBASK_FoulsXML.xml",
-    "CBASK_FTPctXML.xml",
-    "Cbask_Indv_Scoring_XML.xml",
-    "CBASK_MinutesXML.xml",
-    "Cbask_Polls_XML.xml",
-    "CBASK_ReboundsXML.xml",
-    "CBASK_ScoringLeadersXML.xml",
-    "Cbask_Team_ThreePT_Made_XML.xml",
-    "Cbask_Team_ThreePT_PCT_XML.xml",
-    "Cbask_Team_Win_Pct_XML.xml",
-    "Cbask_Top_Twenty_Five_XML.xml",
-    "CBASK_TopTwentyFiveResult_XML.xml",
-    "Cbask_Tourn_Awards_XML.xml",
-    "Cbask_Tourn_Champs_XML.xml",
-    "Cbask_Tourn_Indiv_XML.xml",
-    "Cbask_Tourn_Leaders_XML.xml",
-    "Cbask_Tourn_MVP_XML.xml",
-    "Cbask_Tourn_Records_XML.xml",
-    "LeagueScheduleXML.xml",
-    "minorscoresxml.xml",
-    "Minor_Baseball_League_Leaders_XML.xml",
-    "Minor_Baseball_Standings_XML.xml",
-    "Minor_Baseball_Transactions_XML.xml",
-    "mlbbattingavgxml.xml",
-    "mlbdoublesleadersxml.xml",
-    "MLBGamesPlayedXML.xml",
-    "MLBGIDPXML.xml",
-    "MLBHitByPitchXML.xml",
-    "mlbhitsleadersxml.xml",
-    "mlbhomerunsxml.xml",
-    "MLBHRFreqXML.xml",
-    "MLBIntWalksXML.xml",
-    "MLBKORateXML.xml",
-    "mlbonbasepctxml.xml",
-    "MLBOPSXML.xml",
-    "MLBPlateAppsXML.xml",
-    "mlbrbisxml.xml",
-    "mlbrunsleadersxml.xml",
-    "MLBSacFliesXML.xml",
-    "MLBSacrificesXML.xml",
-    "MLBSBSuccessXML.xml",
-    "mlbsluggingpctxml.xml",
-    "mlbstandxml.xml",
-    "mlbstandxml_preseason.xml",
-    "mlbstolenbasexml.xml",
-    "mlbtotalbasesleadersxml.xml",
-    "mlbtriplesleadersxml.xml",
-    "MLBWalkRateXML.xml",
-    "mlbwalksleadersxml.xml",
-    "MLBXtraBaseHitsXML.xml",
-    "MLB_ERA_Leaders.xml",
-    "MLB_Pitching_Appearances_Leaders.xml",
-    "MLB_Pitching_Balks_Leaders.xml",
-    "MLB_Pitching_CG_Leaders.xml",
-    "MLB_Pitching_ER_Allowed_Leaders.xml",
-    "MLB_Pitching_Hits_Allowed_Leaders.xml",
-    "MLB_Pitching_Hit_Batters_Leaders.xml",
-    "MLB_Pitching_HR_Allowed_Leaders.xml",
-    "MLB_Pitching_IP_Leaders.xml",
-    "MLB_Pitching_Runs_Allowed_Leaders.xml",
-    "MLB_Pitching_Saves_Leaders.xml",
-    "MLB_Pitching_Shut_Outs_Leaders.xml",
-    "MLB_Pitching_Starts_Leaders.xml",
-    "MLB_Pitching_Strike_Outs_Leaders.xml",
-    "MLB_Pitching_Walks_Leaders.xml",
-    "MLB_Pitching_WHIP_Leaders.xml",
-    "MLB_Pitching_Wild_Pitches_Leaders.xml",
-    "MLB_Pitching_Win_Percentage_Leaders.xml",
-    "MLB_Pitching_WL_Leaders.xml",
-    "NBA_Team_Stats_XML.xml",
-    "NBA3PPctXML.xml",
-    "NBAAssistsXML.xml",
-    "NBABlocksXML.xml"
-  ]
-
+  map (change_suffix . add_path) dtds
+  where
+     add_path = ("test/xml/sportinfo/" ++ )
+     change_suffix = replace ".dtd" ".xml"
 
 
 -- | Make sure we can parse every element of 'sport_info_test_files'.