Catch all exception in latest_blog_posts catlogue tag.
[wolnelektury.git] / apps / catalogue / templatetags / catalogue_tags.py
index 537e3ec..3c34e8c 100644 (file)
@@ -41,17 +41,17 @@ def capfirst(text):
 def simple_title(tags):
     mapping = {
         'author': u'Autor',
-        'theme': u'Motyw',
-        'epoch': u'Epoka',
-        'genre': u'Gatunek',
-        'kind': u'Rodzaj',
-        'set': u'Półka',
+        'theme': u'motyw',
+        'epoch': u'epoka',
+        'genre': u'gatunek',
+        'kind': u'rodzaj',
+        'set': u'półka',
     }
     
     title = []
     for tag in tags:
-        title.append("%s: %s." % (mapping[tag.category], tag.name))
-    return ' '.join(title)
+        title.append("%s: %s" % (mapping[tag.category], tag.name))
+    return capfirst(', '.join(title))
 
 
 @register.simple_tag
@@ -132,7 +132,7 @@ def authentication_form():
 def breadcrumbs(tags, search_form=True):
     from catalogue.forms import SearchForm
     context = {'tag_list': tags}
-    if search_form:
+    if search_form and len(tags) < 6:
         context['search_form'] = SearchForm(tags=tags)
     return context
 
@@ -194,18 +194,21 @@ def latest_blog_posts(feed_url, posts_to_show=5):
     import feedparser
     import datetime
     
-    feed = feedparser.parse(feed_url)
-    posts = []
-    for i in range(posts_to_show):
-        pub_date = feed['entries'][i].updated_parsed
-        published = datetime.date(pub_date[0], pub_date[1], pub_date[2] )
-        posts.append({
-            'title': feed['entries'][i].title,
-            'summary': feed['entries'][i].summary,
-            'link': feed['entries'][i].link,
-            'date': published,
-            })
-    return {'posts': posts}
+    try:
+        feed = feedparser.parse(feed_url)
+        posts = []
+        for i in range(posts_to_show):
+            pub_date = feed['entries'][i].updated_parsed
+            published = datetime.date(pub_date[0], pub_date[1], pub_date[2] )
+            posts.append({
+                'title': feed['entries'][i].title,
+                'summary': feed['entries'][i].summary,
+                'link': feed['entries'][i].link,
+                'date': published,
+                })
+        return {'posts': posts}
+    except:
+        return {'posts': []}
 
 
 @register.inclusion_tag('catalogue/tag_list.html')