Author: jbronn
Date: 2008-08-25 19:46:30 -0500 (Mon, 25 Aug 2008)
New Revision: 8566
Modified:
django/trunk/django/contrib/gis/sitemaps/georss.py
django/trunk/django/contrib/gis/sitemaps/views.py
Log:
Fixes for Geo sitemap errata.
Modified: django/trunk/django/contrib/gis/sitemaps/georss.py
===================================================================
--- django/trunk/django/contrib/gis/sitemaps/georss.py 2008-08-26 00:34:34 UTC
(rev 8565)
+++ django/trunk/django/contrib/gis/sitemaps/georss.py 2008-08-26 00:46:30 UTC
(rev 8566)
@@ -41,7 +41,7 @@
This method is overrridden so the appropriate `geo_format` attribute
is placed on each URL element.
"""
- urls = Sitemap.get_urls(self)
+ urls = Sitemap.get_urls(self, page=page)
for url in urls: url['geo_format'] = 'georss'
return urls
Modified: django/trunk/django/contrib/gis/sitemaps/views.py
===================================================================
--- django/trunk/django/contrib/gis/sitemaps/views.py 2008-08-26 00:34:34 UTC
(rev 8565)
+++ django/trunk/django/contrib/gis/sitemaps/views.py 2008-08-26 00:46:30 UTC
(rev 8566)
@@ -5,13 +5,11 @@
from django.core import urlresolvers
from django.core.paginator import EmptyPage, PageNotAnInteger
from django.db.models import get_model
+from django.contrib.gis.db.models.fields import GeometryField
from django.utils.encoding import smart_str
from django.contrib.gis.shortcuts import render_to_kml, render_to_kmz
-class KMLNotFound(Exception):
- pass
-
def index(request, sitemaps):
"""
This view generates a sitemap index that uses the proper view
@@ -71,8 +69,16 @@
placemarks = []
klass = get_model(label, model)
if not klass:
- raise KMLNotFound("You must supply a valid app.model label. Got
%s.%s" % (label, model))
+ raise Http404('You must supply a valid app label and module name. Got
"%s.%s"' % (label, model))
+ if field_name:
+ try:
+ info = klass._meta.get_field_by_name(field_name)
+ if not isinstance(info[0], GeometryField):
+ raise Exception
+ except:
+ raise Http404('Invalid geometry field.')
+
if SpatialBackend.postgis:
# PostGIS will take care of transformation.
placemarks = klass._default_manager.kml(field_name=field_name)
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"Django updates" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at
http://groups.google.com/group/django-updates?hl=en
-~----------~----~----~----~------~----~------~--~---