[OpenLayers-Commits] r7355 - in project/gallery.openlayers.org/openlayers/gallery: . templates templates/feeds

commits at openlayers.org commits at openlayers.org
Thu Jun 12 21:03:09 EDT 2008


Author: crschmidt
Date: 2008-06-12 21:03:09 -0400 (Thu, 12 Jun 2008)
New Revision: 7355

Added:
   project/gallery.openlayers.org/openlayers/gallery/feeds.py
   project/gallery.openlayers.org/openlayers/gallery/templates/feeds/
   project/gallery.openlayers.org/openlayers/gallery/templates/feeds/latest_description.html
   project/gallery.openlayers.org/openlayers/gallery/templates/feeds/latest_title.html
Modified:
   project/gallery.openlayers.org/openlayers/gallery/models.py
   project/gallery.openlayers.org/openlayers/gallery/templates/base.html
   project/gallery.openlayers.org/openlayers/gallery/urls.py
Log:
add support for RSS output from OpenLayers Gallery.


Added: project/gallery.openlayers.org/openlayers/gallery/feeds.py
===================================================================
--- project/gallery.openlayers.org/openlayers/gallery/feeds.py	                        (rev 0)
+++ project/gallery.openlayers.org/openlayers/gallery/feeds.py	2008-06-13 01:03:09 UTC (rev 7355)
@@ -0,0 +1,14 @@
+from django.contrib.syndication.feeds import Feed
+from django.utils.feedgenerator import Atom1Feed
+
+from openlayers.gallery.models import Item
+
+class LatestEntries(Feed):
+    title = "OpenLayers Gallery Updates"
+    link = "/feed/latest/"
+    subtitle = "Updated gallery items on OpenLayers Gallery"
+    feed_type = Atom1Feed
+    def item_pubdate(self, item):
+        return item.created
+    def items(self):
+        return Item.objects.order_by('-created')[:15]

Modified: project/gallery.openlayers.org/openlayers/gallery/models.py
===================================================================
--- project/gallery.openlayers.org/openlayers/gallery/models.py	2008-06-12 23:45:57 UTC (rev 7354)
+++ project/gallery.openlayers.org/openlayers/gallery/models.py	2008-06-13 01:03:09 UTC (rev 7355)
@@ -14,7 +14,10 @@
     created = models.DateTimeField(auto_now_add=True) 
     modified = models.DateTimeField(auto_now=True) 
     thumbnail = models.ImageField(upload_to="thumbnails/", editable=False, blank=True)
-    
+    @models.permalink
+    def get_absolute_url(self):
+        return ('openlayers.gallery.views.item', [str(self.id)]) 
+
     def save(self):
         if not self.thumbnail and self.image:
             # We use PIL's Image object

Modified: project/gallery.openlayers.org/openlayers/gallery/templates/base.html
===================================================================
--- project/gallery.openlayers.org/openlayers/gallery/templates/base.html	2008-06-12 23:45:57 UTC (rev 7354)
+++ project/gallery.openlayers.org/openlayers/gallery/templates/base.html	2008-06-13 01:03:09 UTC (rev 7355)
@@ -8,6 +8,7 @@
   <!--[if lt IE 7]>
   <script defer="defer" type="text/javascript" src="http://openlayers.org/pngfix.js"></script>
   <![endif]-->
+  <link rel="alternate" type="application/atom+xml" title="Atom 1.0" href="/feed/latest/" />
     <title>{% block title %}Gallery{% endblock %} -- OpenLayers Gallery</title>
 </head>
 
@@ -23,7 +24,9 @@
 <a class="navtab" href="http://trac.openlayers.org">Support &amp; Development</a>
 </div>
 <div id="mainnav" class="nav"><ul><li class="first"><a href="/" accesskey="1">Gallery Home</a></li><li class="first"><a href="/edit/" accesskey="1">Add</a></li></ul></div>
-    <div id="content">
+
+<a href="/feed/latest/"><img style="z-index: 1000;right:5px;position:absolute" src="/images/xml.gif" alt="RSS Icon"/></a>
+<div id="content">
 <h1><a href="/">OpenLayers Gallery</a></h1>
     {% block content %} {% endblock %}
     </div>

Added: project/gallery.openlayers.org/openlayers/gallery/templates/feeds/latest_description.html
===================================================================
--- project/gallery.openlayers.org/openlayers/gallery/templates/feeds/latest_description.html	                        (rev 0)
+++ project/gallery.openlayers.org/openlayers/gallery/templates/feeds/latest_description.html	2008-06-13 01:03:09 UTC (rev 7355)
@@ -0,0 +1 @@
+{{ obj.description }}

Added: project/gallery.openlayers.org/openlayers/gallery/templates/feeds/latest_title.html
===================================================================
--- project/gallery.openlayers.org/openlayers/gallery/templates/feeds/latest_title.html	                        (rev 0)
+++ project/gallery.openlayers.org/openlayers/gallery/templates/feeds/latest_title.html	2008-06-13 01:03:09 UTC (rev 7355)
@@ -0,0 +1 @@
+{{ obj.name }}

Modified: project/gallery.openlayers.org/openlayers/gallery/urls.py
===================================================================
--- project/gallery.openlayers.org/openlayers/gallery/urls.py	2008-06-12 23:45:57 UTC (rev 7354)
+++ project/gallery.openlayers.org/openlayers/gallery/urls.py	2008-06-13 01:03:09 UTC (rev 7355)
@@ -1,8 +1,16 @@
 from django.conf.urls.defaults import *
+from openlayers.gallery.feeds import LatestEntries
 
+feeds = {
+    'latest': LatestEntries,
+}
+
 urlpatterns = patterns('openlayers.gallery.views',
     # Example:
      (r'^$', 'list'),
      (r'^item/(?P<id>\d+)/$', 'item'),
      (r'^edit/(?P<id>\d*)/?$', 'item_create'),
+) + patterns('',     
+     (r'^feed/(?P<url>.*)/$', 'django.contrib.syndication.views.feed', {'feed_dict': feeds}),
+
 )     



More information about the Commits mailing list