X-Git-Url: http://gitweb.michael.orlitzky.com/?a=blobdiff_plain;f=src%2FMain.hs;h=84593976ec9e3eb05300e89bc4fe42e54b7cf663;hb=3f20baed57141f7e8c4670aaf639ea7ba937119b;hp=6c8223db5628b397405eaeeaec454e571e8ceac8;hpb=ef96e8bf0cadf5d602022f8c91914d3cabeb35a0;p=dead%2Fhtsn-import.git diff --git a/src/Main.hs b/src/Main.hs index 6c8223d..8459397 100644 --- a/src/Main.hs +++ b/src/Main.hs @@ -45,11 +45,14 @@ import Network.Services.TSN.Report ( report_info, report_error ) import TSN.DbImport ( DbImport(..), ImportResult(..) ) +import qualified TSN.XML.AutoRacingSchedule as AutoRacingSchedule ( + pickle_message ) import qualified TSN.XML.Heartbeat as Heartbeat ( verify ) import qualified TSN.XML.Injuries as Injuries ( pickle_message ) import qualified TSN.XML.InjuriesDetail as InjuriesDetail ( pickle_message ) import qualified TSN.XML.News as News ( pickle_message ) import qualified TSN.XML.Odds as Odds ( pickle_message ) +import qualified TSN.XML.Weather as Weather ( pickle_message ) import Xml ( DtdName(..), parse_opts ) @@ -150,6 +153,11 @@ import_file cfg path = do migrate_and_import m = dbmigrate m >> dbimport m importer + | dtd == "Auto_Racing_Schedule_XML.dtd" = do + let m = unpickleDoc AutoRacingSchedule.pickle_message xml + let errmsg = "Could not unpickle Auto_Racing_Schedule_XML." + maybe (return $ ImportFailed errmsg) migrate_and_import m + | dtd == "injuriesxml.dtd" = do let m = unpickleDoc Injuries.pickle_message xml let errmsg = "Could not unpickle injuriesxml." @@ -171,6 +179,11 @@ import_file cfg path = do let errmsg = "Could not unpickle Odds_XML." maybe (return $ ImportFailed errmsg) migrate_and_import m + | dtd == "weatherxml.dtd" = do + let m = unpickleDoc Weather.pickle_message xml + let errmsg = "Could not unpickle weatherxml." + maybe (return $ ImportFailed errmsg) migrate_and_import m + | otherwise = do let infomsg = "Unrecognized DTD in " ++ path ++ ": " ++ dtd ++ "." @@ -213,8 +226,8 @@ main = do -- deleted. let result_pairs = zip (OC.xml_files opt_config) results let victims = [ p | (p, True) <- result_pairs ] - let imported_count = length victims - report_info $ "Imported " ++ (show imported_count) ++ " document(s) total." + let processed_count = length victims + report_info $ "Processed " ++ (show processed_count) ++ " document(s) total." when (remove cfg) $ mapM_ (kill True) victims where