#23403: Sitemap bug
-----------------------------------+--------------------------------------
     Reporter:  igorcc             |                    Owner:  igorcc
         Type:  Bug                |                   Status:  assigned
    Component:  contrib.sitemaps   |                  Version:  1.7
     Severity:  Normal             |               Resolution:
     Keywords:  date utctimetuple  |             Triage Stage:  Unreviewed
    Has patch:  1                  |      Needs documentation:  0
  Needs tests:  1                  |  Patch needs improvement:  0
Easy pickings:  0                  |                    UI/UX:  0
-----------------------------------+--------------------------------------
Changes (by timgraham):

 * needs_tests:  0 => 1
 * easy:  1 => 0


Old description:

> When building a sitemap I receive
> jango Version:  1.7
> Exception Type:         AttributeError
> Exception Value:        'datetime.date' object has no attribute
> 'utctimetuple'
>
> Exception Location:     <skipped>/Django/lib/python2.7/site-
> packages/django/contrib/sitemaps/views.py in sitemap, line 78
>
> Workaround can be done as:
> diff --git a/django/contrib/sitemaps/views.py
> b/django/contrib/sitemaps/views.py
> index aa184e9..d74c55b 100644
> --- a/django/contrib/sitemaps/views.py
> +++ b/django/contrib/sitemaps/views.py
> @@ -8,6 +8,7 @@ from django.http import Http404
>  from django.template.response import TemplateResponse
>  from django.utils import six
>  from django.utils.http import http_date
> +from datetime import datetime
>

>  def x_robots_tag(func):
> @@ -71,7 +72,7 @@ def sitemap(request, sitemaps, section=None,
>              raise Http404("No page '%s'" % page)
>      response = TemplateResponse(request, template_name, {'urlset':
> urls},
>                                  content_type=content_type)
> -    if hasattr(site, 'latest_lastmod'):
> +    if hasattr(site, 'latest_lastmod') and type(site.latest_lastmod) is
> datetime:
>          # if latest_lastmod is defined for site, set header so as
>          # ConditionalGetMiddleware is able to send 304 NOT MODIFIED
>          response['Last-Modified'] = http_date(

New description:

 When building a sitemap I receive
 {{{
 Django Version:         1.7
 Exception Type:         AttributeError
 Exception Value:        'datetime.date' object has no attribute
 'utctimetuple'

 Exception Location:     <skipped>/Django/lib/python2.7/site-
 packages/django/contrib/sitemaps/views.py in sitemap, line 78

 }}}
 Workaround can be done as:
 {{{
 diff --git a/django/contrib/sitemaps/views.py
 b/django/contrib/sitemaps/views.py
 index aa184e9..d74c55b 100644
 --- a/django/contrib/sitemaps/views.py
 +++ b/django/contrib/sitemaps/views.py
 @@ -8,6 +8,7 @@ from django.http import Http404
  from django.template.response import TemplateResponse
  from django.utils import six
  from django.utils.http import http_date
 +from datetime import datetime


  def x_robots_tag(func):
 @@ -71,7 +72,7 @@ def sitemap(request, sitemaps, section=None,
              raise Http404("No page '%s'" % page)
      response = TemplateResponse(request, template_name, {'urlset': urls},
                                  content_type=content_type)
 -    if hasattr(site, 'latest_lastmod'):
 +    if hasattr(site, 'latest_lastmod') and type(site.latest_lastmod) is
 datetime:
          # if latest_lastmod is defined for site, set header so as
          # ConditionalGetMiddleware is able to send 304 NOT MODIFIED
          response['Last-Modified'] = http_date(
 }}}

--

Comment:

 Could you please include code to reproduce the issue (ideally as a test
 for Django's test suite)? Did your code work in Django 1.6?

--
Ticket URL: <https://code.djangoproject.com/ticket/23403#comment:2>
Django <https://code.djangoproject.com/>
The Web framework for perfectionists with deadlines.

-- 
You received this message because you are subscribed to the Google Groups 
"Django updates" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to django-updates+unsubscr...@googlegroups.com.
To post to this group, send email to django-updates@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-updates/064.49beec6b422f73388cfc7d7582d9edf5%40djangoproject.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to