X-Git-Url: http://git.cielonegro.org/gitweb.cgi?p=Rakka.git;a=blobdiff_plain;f=Rakka%2FTrackBack.hs;fp=Rakka%2FTrackBack.hs;h=0000000000000000000000000000000000000000;hp=8b1d2cbba8f1a614e628ad3f8129de05d7b114eb;hb=45bce2c29948649f74ada71f2fa851bdb812e96c;hpb=42f51754dea02201aececaacbf194d714cd58aaf diff --git a/Rakka/TrackBack.hs b/Rakka/TrackBack.hs deleted file mode 100644 index 8b1d2cb..0000000 --- a/Rakka/TrackBack.hs +++ /dev/null @@ -1,96 +0,0 @@ -module Rakka.TrackBack - ( TrackBack(..) - ) - where - -import Data.Maybe -import Data.Time -import Network.URI -import Rakka.Attachment -import Rakka.Utils -import Rakka.W3CDateTime -import Text.XML.HXT.Arrow -import Text.XML.HXT.DOM.TypeDefs - - -data TrackBack - = TrackBack { - tbTitle :: !(Maybe String) - , tbExcerpt :: !(Maybe String) - , tbURL :: !URI - , tbBlogName :: !(Maybe String) - , tbTime :: !UTCTime - } - deriving (Show, Eq) - - -{- - - - excerpt... - - ... - --} -instance Attachment [TrackBack] where - serializeToXmlTree - = proc trackbacks - -> ( eelem "/" - += ( eelem "trackbacks" - += ( arrL id - >>> - tbToTree - ) - ) - ) -< trackbacks - where - tbToTree :: ArrowXml a => a TrackBack XmlTree - tbToTree - = proc tb - -> let title = case tbTitle tb of - Nothing -> none - Just t -> sattr "title" t - excerpt = case tbExcerpt tb of - Nothing -> none - Just e -> txt e - url = sattr "url" (uriToString id (tbURL tb) "") - blogName = case tbBlogName tb of - Nothing -> none - Just n -> sattr "blogName" n - time = sattr "time" (formatW3CDateTime $ utcToZonedTime utc (tbTime tb)) - in - ( eelem "trackback" - += title - += url - += blogName - += time - += excerpt - ) -<< () - - deserializeFromXmlTree - = proc doc -> listA (getXPathTreesInDoc "/trackbacks/trackback" >>> treeToTb) -< doc - where - treeToTb :: (ArrowChoice a, ArrowXml a) => a XmlTree TrackBack - treeToTb - = proc tree - -> do title <- maybeA (getAttrValue0 "title") -< tree - url <- ( getAttrValue0 "url" - >>> - arr (fromJust . parseURI) - ) -< tree - time <- ( getAttrValue0 "time" - >>> - arr (zonedTimeToUTC . fromJust . parseW3CDateTime) - ) -< tree - blogName <- maybeA (getAttrValue0 "blogName") -< tree - excerpt <- maybeA ( getChildren - >>> - getText - ) -< tree - returnA -< TrackBack { - tbTitle = title - , tbExcerpt = excerpt - , tbURL = url - , tbBlogName = blogName - , tbTime = time - }