X-Git-Url: http://gitweb.michael.orlitzky.com/?a=blobdiff_plain;f=src%2FTSN%2FXML%2FOdds.hs;h=67ddbd4c2b52c5ac234abf0e1180a99c487a1f67;hb=49d528dc6b0a7b79ae17990872fdd7f58b80abc7;hp=467dbcf8ee6df3bf69241f35e5bad97cff2a3e1d;hpb=7e65dfba04f3cf7cc903f0e2a098d5461a532df1;p=dead%2Fhtsn-import.git diff --git a/src/TSN/XML/Odds.hs b/src/TSN/XML/Odds.hs index 467dbcf..67ddbd4 100644 --- a/src/TSN/XML/Odds.hs +++ b/src/TSN/XML/Odds.hs @@ -27,7 +27,7 @@ where -- System imports. import Control.Monad ( forM_, join ) -import Data.Time ( UTCTime ) +import Data.Time ( UTCTime(..) ) import Data.Tuple.Curry ( uncurryN ) import Database.Groundhog ( (=.), @@ -257,8 +257,7 @@ data OddsGameLine = data OddsGame = OddsGame { db_game_id :: Int, - db_game_date :: UTCTime, - db_game_time :: UTCTime, + db_game_time :: UTCTime, -- ^ Contains both the date and time. db_game_away_team_rotation_number :: Int, db_game_home_team_rotation_number :: Int } deriving (Eq, Show) @@ -268,8 +267,8 @@ data OddsGame = data OddsGameXml = OddsGameXml { xml_game_id :: Int, - xml_game_date :: UTCTime, - xml_game_time :: UTCTime, + xml_game_date :: UTCTime, -- ^ Contains only the date + xml_game_time :: UTCTime, -- ^ Contains only the time xml_game_away_team :: OddsGameAwayTeamXml, xml_game_home_team :: OddsGameHomeTeamXml, xml_game_over_under :: OddsGameOverUnderXml } @@ -295,10 +294,14 @@ instance FromXml OddsGameXml where from_xml OddsGameXml{..} = OddsGame { db_game_id = xml_game_id, - db_game_date = xml_game_date, - db_game_time = xml_game_time, + + db_game_time = UTCTime + (utctDay xml_game_date) -- Take the day part from one, + (utctDayTime xml_game_time), -- the time from the other. + db_game_away_team_rotation_number = (xml_away_rotation_number xml_game_away_team), + db_game_home_team_rotation_number = (xml_home_rotation_number xml_game_home_team) } @@ -431,11 +434,27 @@ mkPersist tsn_codegen_config [groundhog| fields: - name: odds_OddsGame0 # Default created by mkNormalFieldName dbName: odds_id + reference: + onDelete: cascade - name: odds_OddsGame1 # Default created by mkNormalFieldName dbName: odds_games_id + reference: + onDelete: cascade - entity: OddsGame_OddsGameTeam dbName: odds_games__odds_games_teams + constructors: + - name: OddsGame_OddsGameTeam + fields: + - name: ogogt_odds_games_id + reference: + onDelete: cascade + - name: ogogt_away_team_id + reference: + onDelete: cascade + - name: ogogt_home_team_id + reference: + onDelete: cascade |] instance DbImport Message where @@ -670,7 +689,7 @@ odds_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