]> gitweb.michael.orlitzky.com - dead/htsn-import.git/blobdiff - src/TSN/XML/News.hs
Add SportInfo support for mlbstandxml.dtd.
[dead/htsn-import.git] / src / TSN / XML / News.hs
index 86eed4a8682679abe61c5cc1751375fba1bc3316..913477168540ea47e178adca60e0d1b21bd2165e 100644 (file)
@@ -3,7 +3,6 @@
 {-# LANGUAGE GADTs #-}
 {-# LANGUAGE QuasiQuotes #-}
 {-# LANGUAGE RecordWildCards #-}
-{-# LANGUAGE StandaloneDeriving #-}
 {-# LANGUAGE TemplateHaskell #-}
 {-# LANGUAGE TypeFamilies #-}
 
@@ -11,6 +10,7 @@
 --   a root element \<message\> that contains an entire news item.
 --
 module TSN.XML.News (
+  dtd,
   pickle_message,
   -- * Tests
   news_tests,
@@ -30,7 +30,7 @@ import Data.Tuple.Curry ( uncurryN )
 import Data.Typeable ( Typeable )
 import Database.Groundhog (
   countAll,
-  executeRaw,
+  deleteAll,
   insert_,
   migrate,
   runMigration,
@@ -73,15 +73,21 @@ import Xml (
   unsafe_unpickle )
 
 
+-- | The DTD to which this module corresponds. Used to invoke dbimport.
+--
+dtd :: String
+dtd = "newsxml.dtd"
+
+
 --
 -- DB/XML Data types
 --
 
 -- * News/Message
 
--- | The msg_id child of <message> contains an event_id attribute; we
---   embed it into the 'News' type. We (pointlessly) use the "db_"
---   prefix here so that the two names don't collide on "id" when
+-- | The msg_id child of \<message\> contains an event_id attribute; we
+--   embed it into the 'News' type. We (pointlessly) use the \"db_\"
+--   prefix here so that the two names don't collide on \"id\" when
 --   Groundhog is creating its fields using our field namer.
 --
 data MsgId =
@@ -523,8 +529,7 @@ test_on_delete_cascade = testGroup "cascading delete tests"
                     migrate d
                     migrate e
                   _ <- dbimport news
-                  -- No idea how 'delete' works, so do this instead.
-                  executeRaw False "DELETE FROM news;" []
+                  deleteAll a
                   count_a <- countAll a
                   count_b <- countAll b
                   count_c <- countAll c