web/lib/django/contrib/syndication/feeds.py
changeset 38 77b6da96e6f1
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/web/lib/django/contrib/syndication/feeds.py	Wed Jun 02 18:57:35 2010 +0200
@@ -0,0 +1,38 @@
+from django.contrib.syndication import views
+from django.core.exceptions import ObjectDoesNotExist
+import warnings
+
+# This is part of the deprecated API
+from django.contrib.syndication.views import FeedDoesNotExist, add_domain
+
+class Feed(views.Feed):
+    """Provided for backwards compatibility."""
+    def __init__(self, slug, request):
+        warnings.warn('The syndication feeds.Feed class is deprecated. Please '
+                      'use the new class based view API.',
+                      category=PendingDeprecationWarning)
+
+        self.slug = slug
+        self.request = request
+        self.feed_url = getattr(self, 'feed_url', None) or request.path
+        self.title_template = self.title_template or ('feeds/%s_title.html' % slug)
+        self.description_template = self.description_template or ('feeds/%s_description.html' % slug)
+
+    def get_object(self, bits):
+        return None
+
+    def get_feed(self, url=None):
+        """
+        Returns a feedgenerator.DefaultFeed object, fully populated, for
+        this feed. Raises FeedDoesNotExist for invalid parameters.
+        """
+        if url:
+            bits = url.split('/')
+        else:
+            bits = []
+        try:
+            obj = self.get_object(bits)
+        except ObjectDoesNotExist:
+            raise FeedDoesNotExist
+        return super(Feed, self).get_feed(obj, self.request)
+