-- System imports.
import Data.Either ( rights )
+import Data.String.Utils ( replace )
import Data.Time.Clock ( UTCTime )
import Database.Groundhog (
countAll,
-- | 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",
"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",
"NBAReboundsXML.dtd",
"NBAScorersXML.dtd",
"nbastandxml.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
- ]
+ "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\>.
--
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",
- "nbaconfrecxml.xml",
- "nbadaysxml.xml",
- "nbadivisionsxml.xml",
- "NBAFGPctXML.xml",
- "NBAFoulsXML.xml",
- "NBAFTPctXML.xml",
- "NBAMinutesXML.xml",
- "NBAReboundsXML.xml",
- "NBAScorersXML.xml",
- "nbastandxml.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'.