Author: russellm
Date: 2010-08-30 10:11:21 -0500 (Mon, 30 Aug 2010)
New Revision: 13677
Modified:
django/branches/releases/1.2.X/django/contrib/sitemaps/__init__.py
django/branches/releases/1.2.X/django/contrib/sitemaps/tests/basic.py
django/branches/releases/1.2.X/django/contrib/sitemaps/tests/urls.py
Log:
[1.2.X] Fixed #14198 -- Corrected rendering of generic sitemaps when no
priority is specified. Thanks to palkeo for the report.
Backport of r13676 from trunk.
Modified: django/branches/releases/1.2.X/django/contrib/sitemaps/__init__.py
===================================================================
--- django/branches/releases/1.2.X/django/contrib/sitemaps/__init__.py
2010-08-30 15:09:12 UTC (rev 13676)
+++ django/branches/releases/1.2.X/django/contrib/sitemaps/__init__.py
2010-08-30 15:11:21 UTC (rev 13677)
@@ -65,11 +65,12 @@
urls = []
for item in self.paginator.page(page).object_list:
loc = "http://%s%s" % (current_site.domain, self.__get('location',
item))
+ priority = self.__get('priority', item, None)
url_info = {
'location': loc,
'lastmod': self.__get('lastmod', item, None),
'changefreq': self.__get('changefreq', item, None),
- 'priority': str(self.__get('priority', item, ''))
+ 'priority': str(priority is not None and priority or '')
}
urls.append(url_info)
return urls
Modified: django/branches/releases/1.2.X/django/contrib/sitemaps/tests/basic.py
===================================================================
--- django/branches/releases/1.2.X/django/contrib/sitemaps/tests/basic.py
2010-08-30 15:09:12 UTC (rev 13676)
+++ django/branches/releases/1.2.X/django/contrib/sitemaps/tests/basic.py
2010-08-30 15:11:21 UTC (rev 13677)
@@ -1,5 +1,6 @@
from datetime import date
from django.conf import settings
+from django.contrib.auth.models import User
from django.test import TestCase
from django.utils.formats import localize
from django.utils.translation import activate
@@ -10,6 +11,8 @@
def setUp(self):
self.old_USE_L10N = settings.USE_L10N
+ # Create a user that will double as sitemap content
+ User.objects.create_user('testuser', '[email protected]', 's3krit')
def tearDown(self):
settings.USE_L10N = self.old_USE_L10N
@@ -17,11 +20,11 @@
def test_simple_sitemap(self):
"A simple sitemap can be rendered"
# Retrieve the sitemap.
- response = self.client.get('/sitemaps/sitemap.xml')
+ response = self.client.get('/simple/sitemap.xml')
# Check for all the important bits:
self.assertEquals(response.content, """<?xml version="1.0"
encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
-<url><loc>http://example.com/ticket14164</loc><lastmod>%s</lastmod><changefreq>never</changefreq><priority>0.5</priority></url>
+<url><loc>http://example.com/location/</loc><lastmod>%s</lastmod><changefreq>never</changefreq><priority>0.5</priority></url>
</urlset>
""" % date.today().strftime('%Y-%m-%d'))
@@ -34,6 +37,17 @@
# Retrieve the sitemap. Check that priorities
# haven't been rendered in localized format
- response = self.client.get('/sitemaps/sitemap.xml')
+ response = self.client.get('/simple/sitemap.xml')
self.assertContains(response, '<priority>0.5</priority>')
self.assertContains(response, '<lastmod>%s</lastmod>' %
date.today().strftime('%Y-%m-%d'))
+
+ def test_generic_sitemap(self):
+ "A minimal generic sitemap can be rendered"
+ # Retrieve the sitemap.
+ response = self.client.get('/generic/sitemap.xml')
+ # Check for all the important bits:
+ self.assertEquals(response.content, """<?xml version="1.0"
encoding="UTF-8"?>
+<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
+<url><loc>http://example.com/users/testuser/</loc></url>
+</urlset>
+""")
Modified: django/branches/releases/1.2.X/django/contrib/sitemaps/tests/urls.py
===================================================================
--- django/branches/releases/1.2.X/django/contrib/sitemaps/tests/urls.py
2010-08-30 15:09:12 UTC (rev 13676)
+++ django/branches/releases/1.2.X/django/contrib/sitemaps/tests/urls.py
2010-08-30 15:11:21 UTC (rev 13677)
@@ -1,20 +1,28 @@
from datetime import datetime
from django.conf.urls.defaults import *
-from django.contrib.sitemaps import Sitemap
+from django.contrib.sitemaps import Sitemap, GenericSitemap
+from django.contrib.auth.models import User
class SimpleSitemap(Sitemap):
changefreq = "never"
priority = 0.5
- location = '/ticket14164'
+ location = '/location/'
lastmod = datetime.now()
def items(self):
return [object()]
-sitemaps = {
+simple_sitemaps = {
'simple': SimpleSitemap,
}
+generic_sitemaps = {
+ 'generic': GenericSitemap({
+ 'queryset': User.objects.all()
+ }),
+}
+
urlpatterns = patterns('django.contrib.sitemaps.views',
- (r'^sitemaps/sitemap\.xml$', 'sitemap', {'sitemaps': sitemaps}),
+ (r'^simple/sitemap\.xml$', 'sitemap', {'sitemaps': simple_sitemaps}),
+ (r'^generic/sitemap\.xml$', 'sitemap', {'sitemaps': generic_sitemaps}),
)
--
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.