Permalink
Browse files

Added more robust processing to parameterised syndication feeds for t…

…he 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
  • Loading branch information...
1 parent 9b52f35 commit f0dec08c3a40434310cfbe0748eb9587c7279500 @malcolmt malcolmt committed Mar 18, 2008
Showing with 11 additions and 5 deletions.
  1. +1 −0 AUTHORS
  2. +10 −5 django/contrib/syndication/feeds.py
View
1 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
View
15 django/contrib/syndication/feeds.py
@@ -55,18 +55,23 @@ def __get_dynamic_attr(self, attname, obj, default=None):
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()

0 comments on commit f0dec08

Please sign in to comment.