]> gitweb.michael.orlitzky.com - dead/htsn-import.git/commitdiff
Use Generics.to_tuple in TSN.XML.InjuriesDetail.
authorMichael Orlitzky <michael@orlitzky.com>
Mon, 29 Dec 2014 21:35:41 +0000 (16:35 -0500)
committerMichael Orlitzky <michael@orlitzky.com>
Tue, 30 Dec 2014 00:42:58 +0000 (19:42 -0500)
src/TSN/XML/InjuriesDetail.hs

index 0eb3e238b99b6a986701c35edd6eee724a417298..90fb0cdb894a523ebbb342bf3ebc59620e1b228b 100644 (file)
@@ -1,3 +1,4 @@
+{-# LANGUAGE DeriveGeneric #-}
 {-# LANGUAGE FlexibleInstances #-}
 {-# LANGUAGE GADTs #-}
 {-# LANGUAGE QuasiQuotes #-}
@@ -38,6 +39,7 @@ import Database.Groundhog.Sqlite ( withSqliteConn )
 import Database.Groundhog.TH (
   groundhog,
   mkPersist )
+import qualified GHC.Generics as GHC ( Generic )
 import Test.Tasty ( TestTree, testGroup )
 import Test.Tasty.HUnit ( (@?=), testCase )
 import Text.XML.HXT.Core (
@@ -54,6 +56,7 @@ 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( xp_date, xp_time_stamp )
@@ -94,7 +97,13 @@ data Message =
     xml_sport :: String,
     xml_listings :: [InjuriesDetailListingXml],
     xml_time_stamp :: UTCTime }
-  deriving (Eq, Show)
+  deriving (Eq, GHC.Generic, Show)
+
+
+-- | For 'Generics.to_tuple'.
+--
+instance Generic Message
+
 
 -- | Database representation of a 'Message'.
 --
@@ -154,7 +163,13 @@ data InjuriesDetailListingXml =
 
     xml_full_name :: String, -- ^ Team full name
     xml_player_listings :: [InjuriesDetailListingPlayerListingXml] }
-  deriving (Eq, Show)
+  deriving (Eq, GHC.Generic, Show)
+
+
+-- | For 'Generics.to_tuple'.
+--
+instance Generic InjuriesDetailListingXml
+
 
 instance ToDb InjuriesDetailListingXml where
   -- | The database analogue of an 'InjuriesDetailListingXml' is a
@@ -210,8 +225,12 @@ data InjuriesDetailListingPlayerListingXml =
     xml_fantasy   :: Maybe String, -- ^ Nobody knows what this is.
     xml_injured     :: Bool,
     xml_type :: String }
-  deriving (Eq, Show)
+  deriving (Eq, GHC.Generic, Show)
+
 
+-- | For 'Generics.to_tuple'.
+--
+instance Generic InjuriesDetailListingPlayerListingXml
 
 
 -- | Database representation of a
@@ -349,16 +368,6 @@ pickle_player_listing =
               (xpElem "Type" xpText)
   where
     from_tuple = uncurryN InjuriesDetailListingPlayerListingXml
-    to_tuple pl = (xml_player_team_id pl,
-                   xml_player_id pl,
-                   xml_date pl,
-                   xml_pos pl,
-                   xml_name pl,
-                   xml_injury pl,
-                   xml_status pl,
-                   xml_fantasy pl,
-                   xml_injured pl,
-                   xml_type pl)
 
 
 -- | Convert 'Listing's to/from XML.
@@ -372,9 +381,6 @@ pickle_listing =
              (xpList pickle_player_listing)
   where
     from_tuple = uncurryN InjuriesDetailListingXml
-    to_tuple l = (xml_team_id l,
-                  xml_full_name l,
-                  xml_player_listings l)
 
 
 -- | Convert 'Message's to/from XML.
@@ -391,12 +397,6 @@ pickle_message =
              (xpElem "time_stamp" xp_time_stamp)
   where
     from_tuple = uncurryN Message
-    to_tuple m = (xml_xml_file_id m,
-                  xml_heading m,
-                  xml_category m,
-                  xml_sport m,
-                  xml_listings m,
-                  xml_time_stamp m)
 
 
 --