Apr 10 2009

Haskell To Wordpress (Snippet)

Published by tim at 1:25 am under coding, haskell

A small snippet of code that demonstrates calling into a Wordpress XML-RPC server with Haskell and HaxR.

import qualified Data.Map as Map
import Data.Maybe
import Network.XmlRpc.Client
import Network.XmlRpc.Internals

server = "http://yourserver.wordpress.com/xmlrpc.php"

-- extract multiple posts from the XML response
extract :: Value -> [Map String Value]
extract xmlresp =
    let ValueArray rs = xmlresp in
    map (\v -> case v of
                  ValueStruct vs -> Map.fromList vs
                  _              -> Map.fromList []) rs

getRecentPosts :: Int -> [Char] -> [Char] -> Int -> IO Value
getRecentPosts = remote server "metaWeblog.getRecentPosts"

-- print out the five most recent posts
main = do result <- getRecentPosts 1 "yourname" "yourpass" 5
          let posts = extract result
          mapM_ (\p -> print $ fromJust $ Map.lookup "title" p) posts

No responses yet

Trackback URI | Comments RSS

Leave a Reply