opml-0.4: Text/OPML/Writer.hs
--------------------------------------------------------------------
-- |
-- Module : Text.OPML.Writer
-- Copyright : (c) Galois, Inc. 2008
-- License : BSD3
--
-- Maintainer: Don Stewart <dons@galois.com>
-- Stability : provisional
-- Portability:
--
--------------------------------------------------------------------
--
-- Writing OPML.
--
module Text.OPML.Writer
( -- writeOPML, -- :: {-URL-}String -> OPML -> IO ()
serializeOPML -- :: OPML -> String
) where
import Text.OPML.Syntax
import Text.OPML.Export
import Text.XML.Light ( ppTopElement )
-- import Web.DAV.Client.Curl ( writeContentsURL )
-- import Data.List ( isPrefixOf )
-- import System.Directory ( doesFileExist )
{-
writeOPML :: {-URL-}String -> OPML -> IO ()
writeOPML url f = do
flg <- doesFileExist url
let str = serializeOPML f
if flg
then writeFile url str
else
case "http:" `isPrefixOf` url of
True -> do
writeContentsURL url str
return ()
_ -> writeFile url str
-}
-- | Serialise OPML data back to Strings.
serializeOPML :: OPML -> String
serializeOPML f = ppTopElement $ xmlOPML f