diff options
Diffstat (limited to 'website')
-rw-r--r-- | website/rss.py | 18 | ||||
-rw-r--r-- | website/views.py | 9 |
2 files changed, 26 insertions, 1 deletions
diff --git a/website/rss.py b/website/rss.py new file mode 100644 index 0000000..18d57c3 --- /dev/null +++ b/website/rss.py @@ -0,0 +1,18 @@ +import feedparser +import eventlet + + +with eventlet.Timeout(10): + url = 'http://feeds.feedburner.com/PythonInsider/.rss' + + +def get_rss(): + + feed = feedparser.parse(url) + posts_to_show = [] + + for post in feed.entries[0:4]: + title = post.title + link = post.link + posts_to_show.append((title, link)) + return posts_to_show diff --git a/website/views.py b/website/views.py index 2793897..2357437 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): @@ -34,13 +35,19 @@ def get_blocks(): def dispatcher(request, permalink=''): blocks = get_blocks() + rssfeed = get_rss() banner = Banner.objects.filter(visible=1) context = { 'navs': blocks['navs'], 'sidebar': blocks['sidebar'], 'footer': blocks['footer'], - 'permalink': permalink, + 'permalink': permalink } + if not rssfeed: + context['rssfeed'] = [('Click here for latest news from python.org', + 'https://pythoninsider.blogspot.com/')] + else: + context['rssfeed'] = rssfeed if not banner: context['banner'] = '' else: |