X-Git-Url: http://gitweb.michael.orlitzky.com/?a=blobdiff_plain;f=src%2FTSN%2FXML%2FAutoRacingSchedule.hs;h=edfcaacb44c919fa6cf507b0fc5f6c0856ebd1f9;hb=HEAD;hp=39cfeb9e111b9e7a8c5b51b4f5c8ebde64bacfd9;hpb=6429dcd2920c497c3df08e1ca2cc6de59fb57043;p=dead%2Fhtsn-import.git diff --git a/src/TSN/XML/AutoRacingSchedule.hs b/src/TSN/XML/AutoRacingSchedule.hs index 39cfeb9..edfcaac 100644 --- a/src/TSN/XML/AutoRacingSchedule.hs +++ b/src/TSN/XML/AutoRacingSchedule.hs @@ -32,11 +32,9 @@ import qualified Data.Vector.HFixed as H ( HVector, cons, convert ) import Database.Groundhog ( countAll, deleteAll, - migrate, - runMigration, - silentMigrationLogger ) + migrate ) import Database.Groundhog.Core ( DefaultKey ) -import Database.Groundhog.Generic ( runDbConn ) +import Database.Groundhog.Generic ( runDbConn, runMigrationSilent ) import Database.Groundhog.Sqlite ( withSqliteConn ) import Database.Groundhog.TH ( groundhog, @@ -60,7 +58,7 @@ import Text.XML.HXT.Core ( import TSN.Codegen ( tsn_codegen_config ) import TSN.DbImport ( DbImport(..), ImportResult(..), run_dbmigrate ) -import TSN.Picklers ( xp_date_padded, xp_tba_time, xp_time_stamp ) +import TSN.Picklers ( xp_date_padded, xp_tba_int, xp_tba_time, xp_time_stamp ) import TSN.XmlImport ( XmlImport(..), XmlImportFk(..) ) import Xml ( Child(..), @@ -162,7 +160,7 @@ data AutoRacingScheduleListing = db_track_name :: String, db_location :: String, db_tv_listing :: Maybe String, - db_laps :: Int, + db_laps :: Maybe Int, db_track_length :: String -- ^ Sometimes the word "miles" shows up. } @@ -179,7 +177,7 @@ data AutoRacingScheduleListingXml = xml_track_name :: String, xml_location :: String, xml_tv_listing :: Maybe String, - xml_laps :: Int, + xml_laps :: Maybe Int, xml_track_length :: String, -- ^ Sometimes the word \"miles\" shows up, -- so we can't do the right thing and use -- a 'Double'. @@ -438,7 +436,7 @@ pickle_listing = (xpElem "TrackName" xpText) (xpElem "Location" xpText) (xpElem "TV_Listing" $ xpOption xpText) - (xpElem "Laps" xpInt) + (xpElem "Laps" xp_tba_int) (xpElem "TrackLength" xpText) (xpList pickle_race_results) where @@ -545,7 +543,7 @@ test_on_delete_cascade = testGroup "cascading delete tests" let c = undefined :: AutoRacingScheduleListingRaceResultRaceResultListing actual <- withSqliteConn ":memory:" $ runDbConn $ do - runMigration silentMigrationLogger $ do + runMigrationSilent $ do migrate a migrate b migrate c