--------------------------------------------------------------------
-- |
-- 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