X-Git-Url: http://gitweb.michael.orlitzky.com/?a=blobdiff_plain;f=src%2FMain.hs;h=27ddb66f84b2933b5600bd7fa5b58e2dcbf09429;hb=59d56f0ae0da1d4b1898b3c7536ae38473306319;hp=6a0380091a65d60f342b86bdb65190e4d024bce5;hpb=ce9fabd584f2e8844b8b1ede9b29bb573e2033f7;p=dead%2Fhtsn-import.git diff --git a/src/Main.hs b/src/Main.hs index 6a03800..27ddb66 100644 --- a/src/Main.hs +++ b/src/Main.hs @@ -48,7 +48,7 @@ import qualified TSN.XML.Heartbeat as Heartbeat ( verify ) import qualified TSN.XML.Injuries as Injuries ( Message ) import qualified TSN.XML.InjuriesDetail as InjuriesDetail ( Message ) import qualified TSN.XML.News as News ( Message ) ---import qualified TSN.XML.Odds as Odds ( Odds ) +import qualified TSN.XML.Odds as Odds ( Message ) import Xml ( DtdName(..), parse_opts ) @@ -135,11 +135,11 @@ import_file cfg path = do -- We special-case the heartbeat so it doesn't have to run in -- the database monad. | dtd == "Heartbeat.dtd" = Heartbeat.verify xml - | otherwise = do + | otherwise = -- We need NoMonomorphismRestriction here. if backend cfg == Postgres - then withPostgresqlConn cs $ runDbConn $ importer - else withSqliteConn cs $ runDbConn $ importer + then withPostgresqlConn cs $ runDbConn importer + else withSqliteConn cs $ runDbConn importer where -- | Pull the real connection String out of the configuration. cs :: String @@ -165,7 +165,10 @@ import_file cfg path = do let errmsg = "Could not unpickle newsxml." maybe (return $ ImportFailed errmsg) migrate_and_import m - -- | dtd == "Odds_XML.dtd" = undefined + | dtd == "Odds_XML.dtd" = do + let m = unpickleDoc xpickle xml :: Maybe Odds.Message + let errmsg = "Could not unpickle Odds_XML." + maybe (return $ ImportFailed errmsg) migrate_and_import m | otherwise = do let infomsg =