]> git.0d.be Git - panikweb.git/commitdiff
feed: include xml:base attribute for proper (image) relative link resolution
authorFrédéric Péters <fpeters@0d.be>
Tue, 12 Jul 2016 18:56:55 +0000 (20:56 +0200)
committerFrédéric Péters <fpeters@0d.be>
Tue, 12 Jul 2016 18:56:55 +0000 (20:56 +0200)
panikweb/views.py

index fb43dd92ba5ce05892ec3396488807a5ea3214ec..613348351f502056149415a2beedd669c6985034 100644 (file)
@@ -4,6 +4,7 @@ import random
 import os
 import stat
 import time
+import urlparse
 
 from django.core.urlresolvers import reverse
 from django.conf import settings
@@ -698,8 +699,15 @@ class RssNewsFeed(Feed):
 
 rss_news_feed = RssNewsFeed()
 
+class Atom1FeedWithBaseXml(Atom1Feed):
+    def root_attributes(self):
+        root_attributes = super(Atom1FeedWithBaseXml, self).root_attributes()
+        scheme, netloc, path, params, query, fragment  = urlparse.urlparse(self.feed['feed_url'])
+        root_attributes['xml:base'] = urlparse.urlunparse((scheme, netloc, '/', params, query, fragment))
+        return root_attributes
+
 class AtomNewsFeed(RssNewsFeed):
-    feed_type = Atom1Feed
+    feed_type = Atom1FeedWithBaseXml
 
 atom_news_feed = AtomNewsFeed()