X-Git-Url: http://gitweb.michael.orlitzky.com/?a=blobdiff_plain;f=src%2FTSN%2FXML%2FSportInfo.hs;h=7c5f1ac6da983dc2d6b4a8c6f2af007d0cc43431;hb=3c937a49488d466ce38cccda3eabe2115a5238fe;hp=82d1833888961838a8592c5cb82de0b74e01f436;hpb=d970bf1904c57be1ad2fb77475991e39ff0a267b;p=dead%2Fhtsn-import.git diff --git a/src/TSN/XML/SportInfo.hs b/src/TSN/XML/SportInfo.hs index 82d1833..7c5f1ac 100644 --- a/src/TSN/XML/SportInfo.hs +++ b/src/TSN/XML/SportInfo.hs @@ -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", @@ -117,103 +108,92 @@ dtds = "MLBKORateXML.dtd", "mlbonbasepctxml.dtd", "MLBOPSXML.dtd", - "MLBPlateAppsXML.dtd", -- no dtd - "mlbrbisxml.dtd", -- no dtd - "mlbrunsleadersxml.dtd", -- no dtd - "MLBSacFliesXML.dtd", -- no dtd - "MLBSacrificesXML.dtd", -- no dtd - "MLBSBSuccessXML.dtd", -- no dtd - "mlbsluggingpctxml.dtd", -- no dtd - "mlbstandxml.dtd", -- no dtd - "mlbstandxml_preseason.dtd", -- no dtd - "mlbstolenbasexml.dtd", -- no dtd - "mlbtotalbasesleadersxml.dtd", -- no dtd - "mlbtriplesleadersxml.dtd", -- no dtd - "MLBWalkRateXML.dtd", -- no dtd - "mlbwalksleadersxml.dtd", -- no dtd - "MLBXtraBaseHitsXML.dtd", -- no dtd - "MLB_ERA_Leaders.dtd", -- no dtd - "MLB_Fielding_XML.dtd", -- no dtd - "MLB_Pitching_Appearances_Leaders.dtd", -- no dtd - "MLB_Pitching_Balks_Leaders.dtd", -- no dtd - "MLB_Pitching_CG_Leaders.dtd", -- no dtd - "MLB_Pitching_ER_Allowed_Leaders.dtd", -- no dtd - "MLB_Pitching_Hits_Allowed_Leaders.dtd", -- no dtd - "MLB_Pitching_Hit_Batters_Leaders.dtd", -- no dtd - "MLB_Pitching_HR_Allowed_Leaders.dtd", -- no dtd - "MLB_Pitching_IP_Leaders.dtd", -- no dtd - "MLB_Pitching_Runs_Allowed_Leaders.dtd", -- no dtd - "MLB_Pitching_Saves_Leaders.dtd", -- no dtd - "MLB_Pitching_Shut_Outs_Leaders.dtd", -- no dtd - "MLB_Pitching_Starts_Leaders.dtd", -- no dtd - "MLB_Pitching_Strike_Outs_Leaders.dtd", -- no dtd - "MLB_Pitching_Walks_Leaders.dtd", -- no dtd - "MLB_Pitching_WHIP_Leaders.dtd", -- no dtd - "MLB_Pitching_Wild_Pitches_Leaders.dtd", -- no dtd - "MLB_Pitching_Win_Percentage_Leaders.dtd", -- no dtd - "MLB_Pitching_WL_Leaders.dtd", -- no dtd - "NBA_Team_Stats_XML.dtd", -- no dtd - "NBA3PPctXML.dtd", -- no dtd - "NBAAssistsXML.dtd", -- no dtd - "NBABlocksXML.dtd", -- no 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 - ] + "MLBPlateAppsXML.dtd", + "mlbrbisxml.dtd", + "mlbrunsleadersxml.dtd", + "MLBSacFliesXML.dtd", + "MLBSacrificesXML.dtd", + "MLBSBSuccessXML.dtd", + "mlbsluggingpctxml.dtd", + "mlbstandxml.dtd", + "mlbstandxml_preseason.dtd", + "mlbstolenbasexml.dtd", + "mlbtotalbasesleadersxml.dtd", + "mlbtriplesleadersxml.dtd", + "MLBWalkRateXML.dtd", + "mlbwalksleadersxml.dtd", + "MLBXtraBaseHitsXML.dtd", + "MLB_ERA_Leaders.dtd", + "MLB_Fielding_XML.dtd", + "MLB_Pitching_Appearances_Leaders.dtd", + "MLB_Pitching_Balks_Leaders.dtd", + "MLB_Pitching_CG_Leaders.dtd", + "MLB_Pitching_ER_Allowed_Leaders.dtd", + "MLB_Pitching_Hits_Allowed_Leaders.dtd", + "MLB_Pitching_Hit_Batters_Leaders.dtd", + "MLB_Pitching_HR_Allowed_Leaders.dtd", + "MLB_Pitching_IP_Leaders.dtd", + "MLB_Pitching_Runs_Allowed_Leaders.dtd", + "MLB_Pitching_Saves_Leaders.dtd", + "MLB_Pitching_Shut_Outs_Leaders.dtd", + "MLB_Pitching_Starts_Leaders.dtd", + "MLB_Pitching_Strike_Outs_Leaders.dtd", + "MLB_Pitching_Walks_Leaders.dtd", + "MLB_Pitching_WHIP_Leaders.dtd", + "MLB_Pitching_Wild_Pitches_Leaders.dtd", + "MLB_Pitching_Win_Percentage_Leaders.dtd", + "MLB_Pitching_WL_Leaders.dtd", + "NBA_Team_Stats_XML.dtd", + "NBA3PPctXML.dtd", + "NBAAssistsXML.dtd", + "NBABlocksXML.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 \. @@ -316,54 +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" - ] - + 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'.