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

index b3b3280f097dfad1a0dce9930be3ad093e2d9903..d434220a6ee8788e1b3c4a49249c8587b2e463c9 100644 (file)
@@ -28,6 +28,7 @@ import Data.List ( intercalate )
 import Data.String.Utils ( split )
 import Data.Time ( UTCTime(..) )
 import Data.Tuple.Curry ( uncurryN )
+import qualified Data.Vector.HFixed as H ( HVector, convert )
 import Database.Groundhog (
   countAll,
   deleteAll,
@@ -62,7 +63,6 @@ import Text.XML.HXT.Core (
 
 
 -- Local imports
-import Generics ( Generic(..), to_tuple )
 import TSN.Codegen ( tsn_codegen_config )
 import TSN.Database ( insert_or_select )
 import TSN.DbImport ( DbImport(..), ImportResult(..), run_dbmigrate )
@@ -127,9 +127,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
@@ -257,9 +257,9 @@ data JFileGameXml =
   deriving (Eq, GHC.Generic, Show)
 
 
--- | For 'Generics.to_tuple'.
+-- | For 'H.convert'.
 --
-instance Generic JFileGameXml
+instance H.HVector JFileGameXml
 
 
 -- * JFileGameListXml
@@ -435,7 +435,7 @@ mkPersist tsn_codegen_config [groundhog|
 pickle_message :: PU Message
 pickle_message =
   xpElem "message" $
-    xpWrap (from_tuple, to_tuple) $
+    xpWrap (from_tuple, H.convert) $
     xp6Tuple (xpElem "XML_File_ID" xpInt)
              (xpElem "heading" xpText)
              (xpElem "category" xpText)
@@ -460,7 +460,7 @@ pickle_gamelist =
 pickle_game :: PU JFileGameXml
 pickle_game =
   xpElem "game" $
-    xpWrap (from_tuple, to_tuple) $
+    xpWrap (from_tuple, H.convert) $
     xp14Tuple (xpElem "game_id" xpInt)
               (xpElem "schedule_id" xpInt)
               pickle_odds_info
@@ -553,7 +553,7 @@ pickle_home_team =
              (xpOption xpText) -- Yup, some are nameless
   where
     from_tuple = HTeam . (uncurryN Team)
-    to_tuple' (HTeam t) = to_tuple t
+    to_tuple' (HTeam t) = H.convert t
 
 
 -- | (Un)pickle an away team to/from the dual XML/DB representation
@@ -568,7 +568,7 @@ pickle_away_team =
              (xpOption xpText) -- Yup, some are nameless
   where
     from_tuple = VTeam . (uncurryN Team)
-    to_tuple' (VTeam t) = to_tuple t
+    to_tuple' (VTeam t) = H.convert t
 
 
 pickle_status :: PU JFileGameStatus