]> gitweb.michael.orlitzky.com - dead/htsn-import.git/blobdiff - src/Main.hs
Add a new module, TSN.XML.AutoRacingSchedule, and its tests.
[dead/htsn-import.git] / src / Main.hs
index 6c8223db5628b397405eaeeaec454e571e8ceac8..84593976ec9e3eb05300e89bc4fe42e54b7cf663 100644 (file)
@@ -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