From: Michael Orlitzky Date: Mon, 29 Dec 2014 21:35:41 +0000 (-0500) Subject: Use Generics.to_tuple in TSN.XML.InjuriesDetail. X-Git-Tag: 0.2.1~52 X-Git-Url: https://gitweb.michael.orlitzky.com/?a=commitdiff_plain;h=183dae121707b8ef1a58f9e8d4828f9847011015;p=dead%2Fhtsn-import.git Use Generics.to_tuple in TSN.XML.InjuriesDetail. --- diff --git a/src/TSN/XML/InjuriesDetail.hs b/src/TSN/XML/InjuriesDetail.hs index 0eb3e23..90fb0cd 100644 --- a/src/TSN/XML/InjuriesDetail.hs +++ b/src/TSN/XML/InjuriesDetail.hs @@ -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) --