xp_time,
xp_time_dots,
xp_time_stamp )
-import TSN.Team ( Team(..) )
+import TSN.Team ( Team(..), HTeam(..), VTeam(..) )
import TSN.XmlImport (
XmlImport(..),
XmlImportFkTeams(..) )
xml_season_type :: Maybe String,
xml_game_date :: UTCTime,
xml_game_time :: UTCTime,
- xml_vteam :: Team,
+ xml_vteam :: VTeam,
xml_vleague :: Maybe String,
- xml_hteam :: Team,
+ xml_hteam :: HTeam,
xml_hleague :: Maybe String,
xml_vscore :: Int,
xml_hscore :: Int,
-- Now loop through the message's games
forM_ (xml_games $ xml_gamelist m) $ \game -> do
-- First we insert the home and away teams.
- away_team_id <- insert_or_select (xml_vteam game)
- home_team_id <- insert_or_select (xml_hteam game)
+ away_team_id <- insert_or_select (vteam $ xml_vteam game)
+ home_team_id <- insert_or_select (hteam $ xml_hteam game)
-- Now insert the game keyed to the "jfile" and its teams.
insert_xml_fk_teams_ msg_id away_team_id home_team_id game
-- | (Un)pickle a home team to/from the dual XML/DB representation
-- 'Team'.
--
-pickle_home_team :: PU Team
+pickle_home_team :: PU HTeam
pickle_home_team =
xpElem "hteam" $
xpWrap (from_tuple, to_tuple) $
(xpAttr "abbr" (xpOption xpText)) -- Some are blank
(xpOption xpText) -- Yup, some are nameless
where
- from_tuple = uncurryN Team
- to_tuple t = (team_id t,
- abbreviation t,
- name t)
+ from_tuple = HTeam . (uncurryN Team)
+ to_tuple (HTeam t) = (team_id t,
+ abbreviation t,
+ name t)
-- | (Un)pickle an away team to/from the dual XML/DB representation
-- 'Team'.
--
-pickle_away_team :: PU Team
+pickle_away_team :: PU VTeam
pickle_away_team =
xpElem "vteam" $
xpWrap (from_tuple, to_tuple) $
(xpAttr "abbr" (xpOption xpText)) -- Some are blank
(xpOption xpText) -- Yup, some are nameless
where
- from_tuple = uncurryN Team
- to_tuple t = (team_id t,
- abbreviation t,
- name t)
+ from_tuple = VTeam . (uncurryN Team)
+ to_tuple (VTeam t) = (team_id t,
+ abbreviation t,
+ name t)
pickle_status :: PU JFileGameStatus