Description
RSS feed does not show a diff for a new page.
Steps to reproduce
Configure your RSS reader to get diffs: http://moinmoin.wikiwikiweb.de/RecentChanges?action=rss_rc&diffs=1&unique=0
- Create a new page, for example a new bug page
- The feed does not contain a diff for the new page, like the one that shows on an email notification.
Example
<item rdf:about="http://moinmoin.wikiwikiweb.de/MoinMoinBugs/RSS_does_not_validate#20051120143312"><title>MoinMoinBugs/RSS does not validate</title><link>http://moinmoin.wikiwikiweb.de/MoinMoinBugs/RSS_does_not_validate</link><dc:date>2005-11-20T14:33:12Z</dc:date><dc:contributor><rdf:Description wiki:host="line134-51.adsl.actcom.co.il"><rdf:value>Self:NirSoffer</rdf:value></rdf:Description></dc:contributor><wiki:version>1132497192000000</wiki:version><wiki:status>updated</wiki:status><wiki:diff>http://moinmoin.wikiwikiweb.de/MoinMoinBugs/RSS_does_not_validate?action=diff</wiki:diff><wiki:history>http://moinmoin.wikiwikiweb.de/MoinMoinBugs/RSS_does_not_validate?action=info</wiki:history></item>
Details
This wiki.
Workaround
Here's a patch to action/rss_rc.py that adds the page content if there is no revision to diff to:
if len(lines) > 20:
lines = lines[:20] + ['...\n']
lines = '\n'.join(lines)
- lines = wikiutil.escape(lines)
- desc_text = '%s\n<pre>\n%s\n</pre>\n' % (desc_text, lines)
+ else:
+ lines = page.get_raw_body()
+ lines = wikiutil.escape(lines)
+ desc_text = '%s\n<pre>\n%s\n</pre>\n' % (desc_text, lines)
break
if desc_text:
handler.simpleNode('description', desc_text)There's still a bug: lines = page.get_raw_body() gives the latest revision instead of rev. This is incorrect if there have been more recent changes too. --TuukkaHastrup
Discussion
Plan
- Priority:
- Assigned to:
- Status:
