]> gitweb.michael.orlitzky.com - dead/htsn-import.git/blobdiff - src/Xml.hs
Add some tests for the ON DELETE CASCADE behavior.
[dead/htsn-import.git] / src / Xml.hs
index 3f7bb62cae43fc0cb8dbe42bf54741e448980fbd..780a64e6473815ecd0ec88d4257e4d1ce231373c 100644 (file)
@@ -10,7 +10,8 @@ module Xml (
   ToDb(..),
   parse_opts,
   pickle_unpickle,
-  unpickleable )
+  unpickleable,
+  unsafe_unpickle )
 where
 
 -- System imports.
@@ -29,6 +30,7 @@ import Text.XML.HXT.Core (
   withSubstDTDEntities,
   withValidate,
   xpickleVal,
+  xunpickleDocument,
   xunpickleVal,
   yes )
 
@@ -143,3 +145,11 @@ unpickleable filepath unpickler = do
     try_unpickle = runX $ readDocument parse_opts filepath
                           >>>
                           xunpickleVal unpickler
+
+
+-- | Unpickle from a 'FilePath' using the given pickler. Explode if it
+--   doesn't work.
+--
+unsafe_unpickle :: FilePath -> PU a -> IO a
+unsafe_unpickle filepath unpickler =
+  fmap head $ runX $ xunpickleDocument unpickler parse_opts filepath