# -*- coding: utf-8 -*-
+# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+#
+import feedparser
+import datetime
+
from django import template
from django.template import Node, Variable
from django.utils.encoding import smart_str
return ''
+
+def simple_title(tags):
+ mapping = {
+ 'author': u'Autor',
+ '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 capfirst(', '.join(title))
+
+
@register.simple_tag
def title_from_tags(tags):
def split_tags(tags):
result[tag.category] = tag
return result
+ # TODO: Remove this after adding flection mechanism
+ return simple_title(tags)
+
class Flection(object):
def get_case(self, name, flection):
return name
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
@register.inclusion_tag('catalogue/latest_blog_posts.html')
-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}
+def latest_blog_posts(feed_url, posts_to_show=5):
+ try:
+ feed = feedparser.parse(str(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')