]> gitweb.michael.orlitzky.com - dead/htsn-import.git/commitdiff
Migrate TSN.Team and TSN.XML.MLBBoxScore to fixed-vector-hetero.
authorMichael Orlitzky <michael@orlitzky.com>
Fri, 2 Jan 2015 21:23:28 +0000 (16:23 -0500)
committerMichael Orlitzky <michael@orlitzky.com>
Fri, 2 Jan 2015 21:23:28 +0000 (16:23 -0500)
src/TSN/Team.hs
src/TSN/XML/MLBBoxScore.hs

index 1fef0a3447a2afaa4bfb579d3434bee10421dc7d..070873947cf9f6e70824f9ec5fba5d41a565ccb5 100644 (file)
@@ -23,6 +23,7 @@ module TSN.Team (
 where
 
 -- System imports
+import Data.Vector.HFixed ( HVector )
 import Database.Groundhog () -- Required for some String instance
 import Database.Groundhog.Core ( PersistEntity(..) )
 import Database.Groundhog.TH (
@@ -32,7 +33,6 @@ import Database.Groundhog.TH (
 import qualified GHC.Generics as GHC ( Generic )
 
 -- Local imports
-import Generics ( Generic(..) )
 import Xml ( Child(..), Db(..) )
 
 
@@ -54,9 +54,9 @@ data Team =
     }
   deriving (Eq, GHC.Generic, Show)
 
--- | Needed for 'Generics.to_tuple'.
+-- | Needed for 'H.convert'.
 --
-instance Generic Team
+instance HVector Team
 
 -- * VTeam / HTeam
 
index 97f6a81d0c4b88215d9d67bb8313d69a2d6afc26..68891d30e555773c7a667bc9d77bea2f24bb5883 100644 (file)
@@ -34,6 +34,7 @@ import Data.Data ( Data )
 import Data.Maybe ( fromMaybe )
 import Data.Time ( UTCTime(..) )
 import Data.Tuple.Curry ( uncurryN )
+import qualified Data.Vector.HFixed as H ( HVector, convert )
 import Data.Typeable ( Typeable )
 import Database.Groundhog (
   insert,
@@ -60,7 +61,6 @@ import Text.XML.HXT.Core (
   xpWrap )
 
 -- Local imports.
-import Generics ( Generic(..), to_tuple )
 import TSN.Codegen ( tsn_codegen_config )
 import TSN.DbImport ( DbImport(..), ImportResult(..), run_dbmigrate )
 import TSN.Picklers (
@@ -148,9 +148,9 @@ data Message =
   deriving (Eq, GHC.Generic, Show)
 
 
--- | For 'Generics.to_tuple'.
+-- | For 'H.convert'.
 --
-instance Generic Message
+instance H.HVector Message
 
 instance ToDb Message where
   -- | The database analogue of a 'Message' is a 'MLBBoxScore'.
@@ -206,9 +206,9 @@ data MLBBoxScoreGameBreakdownXml =
     xml_home_team :: MLBBoxScoreTeamBreakdownXml }
   deriving (Eq, GHC.Generic, Show)
 
--- | For 'Generics.to_tuple'
+-- | For 'H.convert'
 --
-instance Generic MLBBoxScoreGameBreakdownXml
+instance H.HVector MLBBoxScoreGameBreakdownXml
 
 
 data MLBBoxScoreHomerunStatsListingBatter =
@@ -219,9 +219,9 @@ data MLBBoxScoreHomerunStatsListingBatter =
     db_batter_id :: Int }
   deriving (Data, Eq, GHC.Generic, Show, Typeable)
 
--- | For 'Generics.to_tuple'
+-- | For 'H.convert'
 --
-instance Generic MLBBoxScoreHomerunStatsListingBatter
+instance H.HVector MLBBoxScoreHomerunStatsListingBatter
 
 
 data MLBBoxScoreHomerunStatsListing =
@@ -237,9 +237,9 @@ data MLBBoxScoreHomerunStatsListingXml =
     xml_pitchers :: [MLBBoxScoreHomerunStatsListingPitcherXml] }
   deriving (Eq, GHC.Generic, Show)
 
--- | For 'Generics.to_tuple'
+-- | For 'H.convert'
 --
-instance Generic MLBBoxScoreHomerunStatsListingXml
+instance H.HVector MLBBoxScoreHomerunStatsListingXml
 
 instance Child MLBBoxScoreHomerunStatsListingXml where
   -- | Each 'MLBBoxScoreHomerunStatsListingXml' is contained in (i.e. has a
@@ -290,9 +290,9 @@ data MLBBoxScoreHomerunStatsListingPitcherXml =
     xml_pitchers_pitcher_id :: Int }
   deriving (Eq, GHC.Generic, Show)
 
--- | For 'Generics.to_tuple'
+-- | For 'H.convert'
 --
-instance Generic MLBBoxScoreHomerunStatsListingPitcherXml
+instance H.HVector MLBBoxScoreHomerunStatsListingPitcherXml
 
 instance Child MLBBoxScoreHomerunStatsListingPitcherXml where
   -- | Each 'MLBBoxScoreHomerunStatsListingPitcherXml' is contained in
@@ -351,8 +351,8 @@ data MLBBoxScoreTeamBreakdownXml =
   deriving (Eq, GHC.Generic, Show)
 
 
--- | For 'Generics.to_tuple'.
-instance Generic MLBBoxScoreTeamBreakdownXml
+-- | For 'H.convert'.
+instance H.HVector MLBBoxScoreTeamBreakdownXml
 
 instance ToDb MLBBoxScoreTeamBreakdownXml where
   -- | The database analogue of a 'MLBBoxScoreTeamBreakdownXml' is
@@ -406,9 +406,9 @@ data MLBBoxScore_MLBBoxScoreTeamBreakdown =
 
 
 
--- | For 'Generics.to_tuple'.
+-- | For 'H.convert'.
 --
-instance Generic MLBBoxScoreRunsByInningsXml
+instance H.HVector MLBBoxScoreRunsByInningsXml
 
 
 instance ToDb MLBBoxScoreRunsByInningsXml where
@@ -457,9 +457,9 @@ data MLBBoxScoreMiscPitchingStatsXml =
   deriving (Eq, GHC.Generic, Show)
 
 
--- | For 'Generics.to_tuple'.
+-- | For 'H.convert'.
 --
-instance Generic MLBBoxScoreMiscPitchingStatsXml
+instance H.HVector MLBBoxScoreMiscPitchingStatsXml
 
 
 -- * MLBBoxScoreMiscPitchingStatsIntentionalWalk
@@ -483,8 +483,9 @@ data MLBBoxScoreMiscPitchingStatsIntentionalWalkXml =
     xml_iw_number_of_times_walked :: Int }
   deriving (Eq, GHC.Generic, Show)
 
--- | For 'Generics.to_tuple'.
-instance Generic MLBBoxScoreMiscPitchingStatsIntentionalWalkXml
+-- | For 'H.convert'.
+--
+instance H.HVector MLBBoxScoreMiscPitchingStatsIntentionalWalkXml
 
 
 instance ToDb MLBBoxScoreMiscPitchingStatsIntentionalWalkXml where
@@ -578,9 +579,9 @@ data MLBBoxScoreMiscPitchingStatsHitByPitchXml =
   deriving (Eq, GHC.Generic, Show)
 
 
--- | For 'Generics.to_tuple'.
+-- | For 'H.convert'.
 --
-instance Generic MLBBoxScoreMiscPitchingStatsHitByPitchXml
+instance H.HVector MLBBoxScoreMiscPitchingStatsHitByPitchXml
 
 
 --
@@ -760,7 +761,7 @@ mkPersist tsn_codegen_config [groundhog|
 pickle_message :: PU Message
 pickle_message =
   xpElem "message" $
-    xpWrap (from_tuple, to_tuple) $
+    xpWrap (from_tuple, H.convert) $
       xp23Tuple (xpElem "XML_File_ID" xpInt)
                 (xpElem "heading" xpText)
                 (xpElem "category" xpText)
@@ -798,7 +799,7 @@ pickle_team_summary =
 pickle_game_breakdown :: PU MLBBoxScoreGameBreakdownXml
 pickle_game_breakdown =
   xpElem "Game_Breakdown" $
-    xpWrap (from_tuple, to_tuple) $
+    xpWrap (from_tuple, H.convert) $
       xpPair pickle_away_team
              pickle_home_team
   where
@@ -808,7 +809,7 @@ pickle_game_breakdown =
 pickle_runs_by_innings :: PU MLBBoxScoreRunsByInningsXml
 pickle_runs_by_innings =
   xpElem "Runs_By_Innings" $
-    xpWrap (from_tuple, to_tuple) $
+    xpWrap (from_tuple, H.convert) $
       xpPair (xpAttr "Inning" xpInt)
              xpInt
   where
@@ -817,7 +818,7 @@ pickle_runs_by_innings =
 
 pickle_team :: PU MLBBoxScoreTeamBreakdownXml
 pickle_team =
-  xpWrap (from_tuple, to_tuple) $
+  xpWrap (from_tuple, H.convert) $
     xp4Tuple (xpList pickle_runs_by_innings)
              (xpElem "Runs" xpInt)
              (xpElem "Hits" xpInt)
@@ -838,7 +839,7 @@ pickle_home_team =
 pickle_batter :: PU MLBBoxScoreHomerunStatsListingBatter
 pickle_batter =
   xpElem "HRS_Batter_ID" $
-    xpWrap (from_tuple, to_tuple) $
+    xpWrap (from_tuple, H.convert) $
     xp4Tuple (xpAttr "HRS_Batter_FirstName" $ xpText)
              (xpAttr "HRS_Batter_LastName" $ xpText)
              (xpAttr "RBIs" $ xpInt)
@@ -850,7 +851,7 @@ pickle_batter =
 pickle_pitcher :: PU MLBBoxScoreHomerunStatsListingPitcherXml
 pickle_pitcher =
   xpElem "HRS_Pitcher_ID" $
-    xpWrap (from_tuple, to_tuple) $
+    xpWrap (from_tuple, H.convert) $
     xp4Tuple (xpAttr "HRS_Homeruns_Off_Pitcher" $ xpInt)
              (xpAttr "HRS_Pitcher_FirstName" $ xpText)
              (xpAttr "HRS_Pitcher_LastName" $ xpText)
@@ -862,7 +863,7 @@ pickle_pitcher =
 pickle_homerun_stats_listing :: PU MLBBoxScoreHomerunStatsListingXml
 pickle_homerun_stats_listing =
   xpElem "HRS_Listing" $
-    xpWrap (from_tuple, to_tuple) $
+    xpWrap (from_tuple, H.convert) $
     xpTriple pickle_batter
              (xpElem "Season_Homeruns" xpInt)
              (xpList pickle_pitcher)
@@ -878,7 +879,7 @@ pickle_homerun_stats_listings =
 pickle_misc_pitching_stats :: PU MLBBoxScoreMiscPitchingStatsXml
 pickle_misc_pitching_stats =
   xpElem "Misc_Pitching_Stats" $
-    xpWrap (from_tuple, to_tuple) $
+    xpWrap (from_tuple, H.convert) $
       xpTriple (xpOption $ xpElem "Wild_Pitches" xpInt)
                pickle_intentional_walks
                pickle_hits_by_pitch
@@ -890,7 +891,7 @@ pickle_misc_pitching_stats =
 pickle_intentional_walks :: PU [MLBBoxScoreMiscPitchingStatsIntentionalWalkXml]
 pickle_intentional_walks =
   xpElem "Intentional_Walks" $ xpList $ xpElem "IW_Listing" $
-    xpWrap (from_tuple, to_tuple) $
+    xpWrap (from_tuple, H.convert) $
       xpTriple (xpElem "IW_Batter_ID" xpInt)
                (xpElem "IW_Pitcher_ID" xpInt)
                (xpElem "IW_Number_Of_Times_Walked" xpInt)
@@ -902,7 +903,7 @@ pickle_intentional_walks =
 pickle_hits_by_pitch :: PU [MLBBoxScoreMiscPitchingStatsHitByPitchXml]
 pickle_hits_by_pitch =
   xpElem "Hit_By_Pitch" $ xpList $ xpElem "HBP_Listing" $
-    xpWrap (from_tuple, to_tuple) $
+    xpWrap (from_tuple, H.convert) $
       xpTriple (xpElem "HBP_Batter_ID" xpInt)
                (xpElem "HBP_Pitcher_ID" xpInt)
                (xpElem "HBP_Number_Of_Times_Hit" xpInt)