1 {-# LANGUAGE ScopedTypeVariables #-}
2 {-# LANGUAGE OverloadedStrings #-}
7 import Control.Monad.IO.Class (liftIO)
8 import Data.Maybe ( listToMaybe )
9 import Database.Persist ( insert )
10 import Database.Persist.Sql ( runMigration )
11 import Database.Persist.Sqlite ( runSqlite )
12 import Text.Show.Pretty ( ppShow )
13 import Text.XML.HXT.Core (
25 import TSN.Injuries ( InjuriesMessage, migrate_injuries )
28 parse_opts :: SysConfigList
30 [ withPreserveComment no,
34 parse_file :: XmlPickler a => FilePath -> IO (Maybe a)
37 runX ( xunpickleDocument xpickle parse_opts path )
41 runSqlite "foo.sqlite3" $ do
42 runMigration migrate_injuries
43 msg :: Maybe InjuriesMessage <- liftIO $ parse_file
44 "test/xml/injuriesxml.xml"
53 msg :: Maybe InjuriesMessage <- parse_file "test/xml/injuriesxml.xml"