X-Git-Url: https://git.mdrn.pl/wolnelektury.git/blobdiff_plain/2e5909e2ebaa5f8ee25bac812b96d4a9f5312df4..e92d6a9a4b4f3a29797f2f47e99787dce0ab525e:/apps/catalogue/templatetags/catalogue_tags.py diff --git a/apps/catalogue/templatetags/catalogue_tags.py b/apps/catalogue/templatetags/catalogue_tags.py index c315cfed3..41be051f2 100644 --- a/apps/catalogue/templatetags/catalogue_tags.py +++ b/apps/catalogue/templatetags/catalogue_tags.py @@ -1,4 +1,10 @@ # -*- 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 @@ -190,22 +196,22 @@ class CatalogueURLNode(Node): @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')