diff options
Diffstat (limited to 'website')
-rw-r--r-- | website/rss.py | 24 | ||||
-rw-r--r-- | website/views.py | 2 |
2 files changed, 26 insertions, 0 deletions
diff --git a/website/rss.py b/website/rss.py new file mode 100644 index 0000000..0edd07c --- /dev/null +++ b/website/rss.py @@ -0,0 +1,24 @@ +import feedparser +import eventlet + + +def get_url(): + + with eventlet.Timeout(10): + url = 'http://feeds.feedburner.com/PythonInsider/.rss' + return url + + +def get_rss(): + + feed = feedparser.parse(get_url()) + posts_to_show = [] + + for post in feed.entries[0:4]: + title = post.title + link = post.link + posts_to_show.append((title, link)) + if not posts_to_show: + posts_to_show = [('Click here for latest news from python.org', + 'https://pythoninsider.blogspot.com/')] + return posts_to_show diff --git a/website/views.py b/website/views.py index 2793897..f77a362 100644 --- a/website/views.py +++ b/website/views.py @@ -1,6 +1,7 @@ from django.http import HttpResponse from django.shortcuts import render, render_to_response, get_object_or_404 from website.models import Nav, Page, Block, Banner, FOSSEEStats +from website.rss import get_rss def block_sort(obj): @@ -40,6 +41,7 @@ def dispatcher(request, permalink=''): 'sidebar': blocks['sidebar'], 'footer': blocks['footer'], 'permalink': permalink, + 'rssfeed' : get_rss() } if not banner: context['banner'] = '' |