]> gitweb.michael.orlitzky.com - dead/htsn-import.git/blobdiff - src/Main.hs
Change the order of init_logging's arguments.
[dead/htsn-import.git] / src / Main.hs
index 06cb22e2e46e385ee61a35e7ea89d69cba0c005d..0a41318c1beb4d267dbb249623d2324e76d27333 100644 (file)
@@ -46,6 +46,7 @@ import qualified TSN.XML.Heartbeat as Heartbeat ( verify )
 import qualified TSN.XML.Injuries as Injuries ( Listing )
 import qualified TSN.XML.InjuriesDetail as InjuriesDetail ( PlayerListing )
 import qualified TSN.XML.News as News ( Message )
+import qualified TSN.XML.Odds as Odds ( Message )
 import Xml ( DtdName(..), parse_opts )
 
 
@@ -111,8 +112,8 @@ import_file cfg path = do
 
     -- | An arrow which parses the doctype "SYSTEM" of an 'XmlTree'.
     --   We use these to determine the parser to use.
-    doctypeA :: ArrowXml a => a XmlTree DtdName
-    doctypeA = getAttrl >>> hasName "doctype-SYSTEM" /> getText >>^ DtdName
+    dtdnameA :: ArrowXml a => a XmlTree DtdName
+    dtdnameA = getAttrl >>> hasName "doctype-SYSTEM" /> getText >>^ DtdName
 
     -- | Combine the arrows above as well as the function below
     --   (arrowized with 'arr') into an IO action that does everything
@@ -123,7 +124,7 @@ import_file cfg path = do
     --   big one outside of the list.
     parse_and_import :: IO [ImportResult]
     parse_and_import =
-      runX (readA >>> (doctypeA &&& returnA) >>> (arr import_with_dtd))
+      runX (readA >>> (dtdnameA &&& returnA) >>> (arr import_with_dtd))
       >>=
       sequence
 
@@ -154,6 +155,8 @@ import_file cfg path = do
             | dtd == "newsxml.dtd" =
                 dbimport (undefined :: News.Message)
 
+            | dtd == "Odds_XML.dtd" = undefined
+
             | otherwise = \_ -> do -- Dummy arg simplifies the other cases.
               let infomsg =
                     "Unrecognized DTD in " ++ path ++ ": " ++ dtd ++ "."
@@ -180,7 +183,7 @@ main = do
   -- logging before the missing parameter checks below so that we can
   -- log the errors.
   let cfg = (def :: Configuration) `merge_optional` opt_config
-  init_logging (log_file cfg) (log_level cfg) (syslog cfg)
+  init_logging (log_level cfg) (log_file cfg) (syslog cfg)
 
   -- Check the optional config for missing required options.
   when (null $ OC.xml_files opt_config) $ do
@@ -208,7 +211,7 @@ main = do
       report_info $ "Removed processed file " ++ path ++ "."
 
     -- | Try to remove @path@ and potentially try again.
-    kill try_again path = do
+    kill try_again path =
       (remove_and_report path) `catchIOError` exception_handler
       where
         -- | A wrapper around threadDelay which takes seconds instead of
@@ -225,7 +228,7 @@ main = do
           report_error (show e)
           report_error $ "Failed to remove imported file " ++ path ++ "."
           if try_again then do
-            report_info "Waiting 5 seconds to attempt removal again..."
+            report_info "Waiting 5 seconds to attempt removal again..."
             thread_sleep 5
             kill False path
           else