]> git.0d.be Git - panikweb.git/commitdiff
add rss & atom feeds for news items
authorFrédéric Péters <fpeters@0d.be>
Wed, 18 Sep 2013 12:23:45 +0000 (14:23 +0200)
committerFrédéric Péters <fpeters@0d.be>
Wed, 18 Sep 2013 12:23:45 +0000 (14:23 +0200)
panikweb/urls.py
panikweb/views.py
panikweb_templates/templates/news.html
panikweb_templates/templates/news/feed.html [new file with mode: 0644]
panikweb_templates/templates/news/inline.html
panikweb_templates/templates/news/roll.html
panikweb_templates/templates/news/search_result.html

index dc8dd968c97ada6f3181075330fc6bffe0dee7ab..cfdcfaa89e542a2bd1d91c1d7e918768dcce87c9 100644 (file)
@@ -22,10 +22,12 @@ urlpatterns = patterns('',
     url(r'^listen/$', 'panikweb.search.listenArchives', name='listen'),
     url(r'^news/$', 'panikweb.views.news', name='news'),
     url(r'^news/archives/$', 'panikweb.views.newsArchives', name='newsArchives'),
     url(r'^listen/$', 'panikweb.search.listenArchives', name='listen'),
     url(r'^news/$', 'panikweb.views.news', name='news'),
     url(r'^news/archives/$', 'panikweb.views.newsArchives', name='newsArchives'),
-    url(r'^news/(?P<slug>[\w,-]+)$', 'panikweb.views.newsitemview', name='news-view'),
+    url(r'^news/(?P<slug>[\w,-]+)$', 'panikweb.views.newsitemview', name='newsitem-view'),
 
     url(r'^search/', 'panikweb.search.view', name='search'),
 
 
     url(r'^search/', 'panikweb.search.view', name='search'),
 
+    url(r'^news.rss', 'panikweb.views.rss_news_feed', name='rss-feed'),
+    url(r'^news.atom', 'panikweb.views.atom_news_feed', name='atom-feed'),
     url(r'^podcasts.rss', 'panikweb.views.podcasts_feed', name='podcasts-feed'),
 
     url(r'^newsletter/', include('newsletter.urls')),
     url(r'^podcasts.rss', 'panikweb.views.podcasts_feed', name='podcasts-feed'),
 
     url(r'^newsletter/', include('newsletter.urls')),
index 583764603aaade085330399df8770b4eabc2c649..e158c2f378a41e3d1c8f7c1796c0ba4ee8767f75 100644 (file)
@@ -10,6 +10,9 @@ from django.views.generic.dates import _date_from_string
 
 from django.core.paginator import Paginator
 
 
 from django.core.paginator import Paginator
 
+from django.contrib.syndication.views import Feed
+from django.utils.feedgenerator import Atom1Feed
+
 import fiber.views
 from haystack.query import SearchQuerySet
 from jsonresponse import to_json
 import fiber.views
 from haystack.query import SearchQuerySet
 from jsonresponse import to_json
@@ -559,3 +562,20 @@ class FiberPageView(fiber.views.FiberTemplateView):
         context['sectionName'] = 'About'
         return context
 fiber_page = FiberPageView.as_view()
         context['sectionName'] = 'About'
         return context
 fiber_page = FiberPageView.as_view()
+
+
+class RssNewsFeed(Feed):
+    title = 'Radio Panik'
+    link = '/news/'
+    description_template = 'news/feed.html'
+
+    def items(self):
+        return NewsItem.objects.order_by('-date')[:10]
+
+rss_news_feed = RssNewsFeed()
+
+class AtomNewsFeed(RssNewsFeed):
+    feed_type = Atom1Feed
+
+
+atom_news_feed = AtomNewsFeed()
index 2f3274bddccf3a9e77433765488d97f84d7269a2..d5ee3e29c3405a8a2d22345e11e4e00462791a59 100644 (file)
@@ -36,7 +36,7 @@
                <ul class="news columns padded list custom">
                {% for NewsItem in newsAll %}
                        <li class="item ellipsis small  ">
                <ul class="news columns padded list custom">
                {% for NewsItem in newsAll %}
                        <li class="item ellipsis small  ">
-                       <a href="{% url 'news-view' slug=NewsItem.slug %}">
+                       <a href="{% url 'newsitem-view' slug=NewsItem.slug %}">
                                <span class="title"><strong>{{ NewsItem.date|date:"D m/M" }}</strong>&nbsp;-&nbsp;{{ NewsItem.title }}</span>
                        </a>
                        </li>
                                <span class="title"><strong>{{ NewsItem.date|date:"D m/M" }}</strong>&nbsp;-&nbsp;{{ NewsItem.title }}</span>
                        </a>
                        </li>
diff --git a/panikweb_templates/templates/news/feed.html b/panikweb_templates/templates/news/feed.html
new file mode 100644 (file)
index 0000000..4fbba3f
--- /dev/null
@@ -0,0 +1,6 @@
+{% load thumbnails %}
+{% if obj.image %}
+<img src="{{ obj.image|thumbnail:'320x240' }}"/>
+{% endif %}
+
+{{ obj.text }}
index 84cc5effbacc9b1e807673f39103380794acca85..f8db2dffccbaccf5b4418be55210d4846e4671e7 100644 (file)
@@ -1,7 +1,7 @@
 {% load thumbnails %}
 {% load staticfiles %}
 <div class="content content-inline {% if class != "special" %}inline{% endif %} cf {{ class }}">
 {% load thumbnails %}
 {% load staticfiles %}
 <div class="content content-inline {% if class != "special" %}inline{% endif %} cf {{ class }}">
-       <a class="block cf" href="{% url 'news-view' slug=content.slug %}">
+       <a class="block cf" href="{% url 'newsitem-view' slug=content.slug %}">
                <div class="logo">
                {% if class == "special" and content.image %}
                        <img class="nomal" src="{{ content.image|thumbnail:'320x240' }}"/>      
                <div class="logo">
                {% if class == "special" and content.image %}
                        <img class="nomal" src="{{ content.image|thumbnail:'320x240' }}"/>      
index c8f2cf4825b9c86c77ed85a3844799a6c4510ebe..bba8cc471eddc425eeca1c63503c45ea6c112868 100644 (file)
@@ -4,7 +4,7 @@
                <ul class="custom">
                        {% for content in news %}
                                <li class="{% if forloop.counter == 1 %}first{% endif %}">
                <ul class="custom">
                        {% for content in news %}
                                <li class="{% if forloop.counter == 1 %}first{% endif %}">
-                                       <a class="block news relative" href="{% url 'news-view' slug=content.slug %}">
+                                       <a class="block news relative" href="{% url 'newsitem-view' slug=content.slug %}">
 
                                {% if forloop.counter == 1 %}
                                                <img class="logo" src="{{ content.image|thumbnail:'640x480' }}"/>       
 
                                {% if forloop.counter == 1 %}
                                                <img class="logo" src="{{ content.image|thumbnail:'640x480' }}"/>       
index 3f3112b84b14d7ea8468bf82700752eb8a33ee38..d0fbdb47a3fa5557a8f5c6105147e1554740836f 100644 (file)
@@ -1,4 +1,4 @@
-<a href="{% url 'news-view' slug=result.slug %}">
+<a href="{% url 'newsitem-view' slug=result.slug %}">
        <span class="icon-bullhorn" ></span>
        <strong>{{ result.title }}</strong>
        {% if result.date %}
        <span class="icon-bullhorn" ></span>
        <strong>{{ result.title }}</strong>
        {% if result.date %}