diff options
| author | Malcolm Tredinnick <malcolm.tredinnick@gmail.com> | 2008-03-18 15:40:27 +0000 |
|---|---|---|
| committer | Malcolm Tredinnick <malcolm.tredinnick@gmail.com> | 2008-03-18 15:40:27 +0000 |
| commit | f0dec08c3a40434310cfbe0748eb9587c7279500 (patch) | |
| tree | 943157d0c1302ae3b88fddaac24714e636ef7cb8 | |
| parent | 9b52f35f35d67d6b4db2206d34320545dc4dd17d (diff) | |
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
| -rw-r--r-- | AUTHORS | 1 | ||||
| -rw-r--r-- | django/contrib/syndication/feeds.py | 15 |
2 files changed, 11 insertions, 5 deletions
@@ -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() |
