]> gitweb.michael.orlitzky.com - dead/htsn-import.git/commitdiff
Fix deletion of unsupported document types. 0.2.3
authorMichael Orlitzky <michael@orlitzky.com>
Sat, 7 Mar 2015 04:10:22 +0000 (23:10 -0500)
committerMichael Orlitzky <michael@orlitzky.com>
Sat, 7 Mar 2015 04:10:22 +0000 (23:10 -0500)
htsn-import.cabal
src/Main.hs

index 30378fe659cb48c6f7ccd75a20541b06138b2371..445d95c1196d8797d445fbf5429c451acd00603f 100644 (file)
@@ -1,5 +1,5 @@
 name:           htsn-import
-version:        0.2.2
+version:        0.2.3
 cabal-version:  >= 1.8
 author:         Michael Orlitzky
 maintainer:    Michael Orlitzky <michael@orlitzky.com>
index e36cc789b4d2f2dbfa485e9af9326a2e63da4824..907c3517b8a28c034605f9608595bc8ef17c4358 100644 (file)
@@ -110,9 +110,13 @@ import_file cfg path = do
   results <- parse_and_import `catch` exception_handler
   case results of
     []    -> do
-      -- One of the arrows returned "nothing."
-      report_error $ "Unable to determine DTD for file " ++ path ++ "."
-      return False
+      -- One of the arrows returned "nothing."  Now that we're
+      -- validating against the DTDs, this will almost always be
+      -- caused by a document whose DTD is not present (i.e. is
+      -- unsupported). So we return "success" to allow the XML file to
+      -- be deleted.
+      report_error $ "No DTD for file " ++ path ++ "."
+      return True
     (ImportFailed errmsg:_) -> do
       report_error $ errmsg ++ " (" ++ path ++ ")"
       return False
@@ -289,6 +293,10 @@ import_file cfg path = do
             | otherwise = do
               let infomsg =
                     "Unrecognized DTD in " ++ path ++ ": " ++ dtd ++ "."
+              -- This should be an impossible case while DTD
+              -- validation is enabled. If we can parse the file at
+              -- all, then we have a DTD for it sitting around. And we
+              -- only have DTDs for supported types.
               return $ ImportUnsupported infomsg