From 81026a92bf77deff0d49cf11df59953df410dd35 Mon Sep 17 00:00:00 2001 From: Daniel Ehrenberg Date: Tue, 1 Jan 2008 22:30:22 -0500 Subject: [PATCH] Reverting RSS changes; fixing unit tests --- extra/rss/rss-tests.factor | 4 ++-- extra/rss/rss.factor | 30 +++++++++++++++++------------- 2 files changed, 19 insertions(+), 15 deletions(-) diff --git a/extra/rss/rss-tests.factor b/extra/rss/rss-tests.factor index 18aa8440b9..68a40704b3 100644 --- a/extra/rss/rss-tests.factor +++ b/extra/rss/rss-tests.factor @@ -10,7 +10,7 @@ USING: rss io kernel io.files tools.test ; f "Meerkat" "http://meerkat.oreillynet.com" - V{ + { T{ entry f @@ -26,7 +26,7 @@ USING: rss io kernel io.files tools.test ; f "dive into mark" "http://example.org/" - V{ + { T{ entry f diff --git a/extra/rss/rss.factor b/extra/rss/rss.factor index 233dfcb221..39018a9912 100644 --- a/extra/rss/rss.factor +++ b/extra/rss/rss.factor @@ -85,22 +85,26 @@ C: entry ] if ; ! Atom generation +: simple-tag, ( content name -- ) + [ , ] tag, ; + +: simple-tag*, ( content name attrs -- ) + [ , ] tag*, ; + : entry, ( entry -- ) - << entry >> [ - << title >> [ dup entry-title , ] - << link [ dup entry-link ] == href // >> - << published >> [ dup entry-pub-date , ] - << content >> [ entry-description , ] - ] ; + "entry" [ + dup entry-title "title" { { "type" "html" } } simple-tag*, + "link" over entry-link "href" associate contained*, + dup entry-pub-date "published" simple-tag, + entry-description [ "content" { { "type" "html" } } simple-tag*, ] when* + ] tag, ; : feed>xml ( feed -- xml ) - > [ - << title >> [ dup feed-title , ] - << link [ dup feed-link ] == href // >> - feed-entries [ entry, ] each - ] - XML> ; + "feed" { { "xmlns" "http://www.w3.org/2005/Atom" } } [ + dup feed-title "title" simple-tag, + "link" over feed-link "href" associate contained*, + feed-entries [ entry, ] each + ] make-xml* ; : write-feed ( feed -- ) feed>xml write-xml ;