X-Git-Url: http://gitweb.michael.orlitzky.com/?a=blobdiff_plain;f=src%2FTSN%2FXML%2FInjuriesDetail.hs;h=b51c19d16d8bb54e6816f2a676ae0e13808b5b52;hb=49d528dc6b0a7b79ae17990872fdd7f58b80abc7;hp=a225cbf8db1e32faaf830a100b9789d644f3edf5;hpb=e0fe6c60035c9561154d0238ae7c49e7134abcaa;p=dead%2Fhtsn-import.git diff --git a/src/TSN/XML/InjuriesDetail.hs b/src/TSN/XML/InjuriesDetail.hs index a225cbf..b51c19d 100644 --- a/src/TSN/XML/InjuriesDetail.hs +++ b/src/TSN/XML/InjuriesDetail.hs @@ -49,7 +49,7 @@ import Text.XML.HXT.Core ( xpWrap ) -- Local imports. -import TSN.Picklers( xp_date, xp_team_id ) +import TSN.Picklers( xp_date ) import TSN.DbImport ( DbImport(..), ImportResult(..), run_dbmigrate ) import TSN.XmlImport ( XmlImport(..) ) import Xml ( FromXml(..), pickle_unpickle, unpickleable ) @@ -60,8 +60,12 @@ import Xml ( FromXml(..), pickle_unpickle, unpickleable ) -- data PlayerListing = PlayerListing { - team_id :: String, -- ^ TeamIDs are (apparently) three characters long - -- and not necessarily numeric. + team_id :: String, -- ^ TeamIDs are (apparently) three + -- characters long and not necessarily + -- numeric. Postgres imposes no performance + -- penalty on a lengthless text field, + -- so we ignore the likely upper bound of + -- three characters. player_id :: Int, date :: UTCTime, pos :: String, @@ -79,8 +83,8 @@ instance FromXml PlayerListing where -- | The DB analogue of a 'PlayerListing' is... itself! type Db PlayerListing = PlayerListing - -- | To convert between a 'PlayerListing' and a 'PlayerListing', - -- we do nothing. + -- | To convert between a 'PlayerListing' and a 'PlayerListing', + -- we do nothing. from_xml = id -- | This lets us call 'insert_xml' on a 'PlayerListing' without @@ -128,11 +132,6 @@ instance DbImport Message where mkPersist defaultCodegenConfig [groundhog| - entity: PlayerListing dbName: injuries_detail_player_listings - constructors: - - name: PlayerListing - fields: - - name: team_id - type: varchar(3) # We've only seen 3... so far. |] @@ -142,7 +141,7 @@ pickle_player_listing :: PU PlayerListing pickle_player_listing = xpElem "PlayerListing" $ xpWrap (from_tuple, to_tuple) $ - xp10Tuple (xpElem "TeamID" xp_team_id) + xp10Tuple (xpElem "TeamID" xpText) (xpElem "PlayerID" xpInt) (xpElem "Date" xp_date) (xpElem "Pos" xpText) @@ -172,7 +171,7 @@ pickle_listing :: PU Listing pickle_listing = xpElem "Listing" $ xpWrap (from_tuple, to_tuple) $ - xpTriple (xpElem "TeamID" xp_team_id) + xpTriple (xpElem "TeamID" xpText) (xpElem "FullName" xpText) (xpList pickle_player_listing) where @@ -217,7 +216,7 @@ injuries_detail_tests = -- | If we unpickle something and then pickle it, we should wind up --- with the same thing we started with. WARNING: succeess of this +-- with the same thing we started with. WARNING: success of this -- test does not mean that unpickling succeeded. -- test_pickle_of_unpickle_is_identity :: TestTree