From f0dec08c3a40434310cfbe0748eb9587c7279500 Mon Sep 17 00:00:00 2001 From: Malcolm Tredinnick <malcolm.tredinnick@gmail.com> Date: Tue, 18 Mar 2008 15:40:27 +0000 Subject: [PATCH] Added more robust processing to parameterised syndication feeds for the case when all the "extra" URL bits are accidentally omitted. Patch from Niran Babalola <niran@niran.org>. Fixed #5855. git-svn-id: http://code.djangoproject.com/svn/django/trunk@7295 bcc190cf-cafb-0310-a4f2-bffc1f526a37 --- AUTHORS | 1 + django/contrib/syndication/feeds.py | 15 ++++++++++----- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/AUTHORS b/AUTHORS index 6c9a7d40db..7a839faf88 100644 --- a/AUTHORS +++ b/AUTHORS @@ -59,6 +59,7 @@ answer newbie questions, and generally made Django that much better: Arthur <avandorp@gmail.com> David Avsajanishvili <avsd05@gmail.com> axiak@mit.edu + Niran Babalola <niran@niran.org> Morten Bagai <m@bagai.com> Mikaƫl Barbero <mikael.barbero nospam at nospam free.fr> Jiri Barton diff --git a/django/contrib/syndication/feeds.py b/django/contrib/syndication/feeds.py index 45b97d970a..3b2dd60aa0 100644 --- a/django/contrib/syndication/feeds.py +++ b/django/contrib/syndication/feeds.py @@ -55,18 +55,23 @@ class Feed(object): return attr() return attr + 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: - try: - obj = self.get_object(url.split('/')) - except (AttributeError, ObjectDoesNotExist): - raise FeedDoesNotExist + bits = url.split('/') else: - obj = None + bits = [] + + try: + obj = self.get_object(bits) + except ObjectDoesNotExist: + raise FeedDoesNotExist if Site._meta.installed: current_site = Site.objects.get_current()