From 9f21e35100b022b31fe723323db85c2cb28b16b8 Mon Sep 17 00:00:00 2001 From: Alexey Opalev Date: Wed, 15 Feb 2017 14:36:18 +0500 Subject: [PATCH] Fixed #27842 -- Added protocol kwarg to GenericSitemap.__init__(). --- django/contrib/sitemaps/__init__.py | 3 ++- docs/ref/contrib/sitemaps.txt | 15 ++++++++++----- docs/releases/2.0.txt | 3 ++- tests/sitemaps_tests/test_generic.py | 2 ++ 4 files changed, 16 insertions(+), 7 deletions(-) diff --git a/django/contrib/sitemaps/__init__.py b/django/contrib/sitemaps/__init__.py index 14baa5d7fb..bd1139ff70 100644 --- a/django/contrib/sitemaps/__init__.py +++ b/django/contrib/sitemaps/__init__.py @@ -142,11 +142,12 @@ class GenericSitemap(Sitemap): priority = None changefreq = None - def __init__(self, info_dict, priority=None, changefreq=None): + def __init__(self, info_dict, priority=None, changefreq=None, protocol=None): self.queryset = info_dict['queryset'] self.date_field = info_dict.get('date_field') self.priority = priority self.changefreq = changefreq + self.protocol = protocol def items(self): # Make sure to return a clone; we don't want premature evaluation. diff --git a/docs/ref/contrib/sitemaps.txt b/docs/ref/contrib/sitemaps.txt index fb3871e58e..aebf62ac53 100644 --- a/docs/ref/contrib/sitemaps.txt +++ b/docs/ref/contrib/sitemaps.txt @@ -259,7 +259,7 @@ Shortcuts The sitemap framework provides a convenience class for a common case: -.. class:: GenericSitemap +.. class:: GenericSitemap(info_dict, priority=None, changefreq=None, protocol=None) The :class:`django.contrib.sitemaps.GenericSitemap` class allows you to create a sitemap by passing it a dictionary which has to contain at least @@ -267,10 +267,15 @@ The sitemap framework provides a convenience class for a common case: of the sitemap. It may also have a ``date_field`` entry that specifies a date field for objects retrieved from the ``queryset``. This will be used for the :attr:`~Sitemap.lastmod` attribute in the - generated sitemap. You may also pass :attr:`~Sitemap.priority` and - :attr:`~Sitemap.changefreq` keyword arguments to the - :class:`~django.contrib.sitemaps.GenericSitemap` constructor to specify - these attributes for all URLs. + generated sitemap. + + The :attr:`~Sitemap.priority`, :attr:`~Sitemap.changefreq`, + and :attr:`~Sitemap.protocol` keyword arguments allow specifying these + attributes for all URLs. + + .. versionadded:: 2.0 + + The ``protocol`` keyword argument was added. Example ------- diff --git a/docs/releases/2.0.txt b/docs/releases/2.0.txt index ad78c84fe5..cd222dbba0 100644 --- a/docs/releases/2.0.txt +++ b/docs/releases/2.0.txt @@ -89,7 +89,8 @@ Minor features :mod:`django.contrib.sitemaps` ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -* ... +* Added the ``protocol`` keyword argument to the + :class:`~django.contrib.sitemaps.GenericSitemap` constructor. :mod:`django.contrib.sites` ~~~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/tests/sitemaps_tests/test_generic.py b/tests/sitemaps_tests/test_generic.py index 4f58006c86..9f8fa20924 100644 --- a/tests/sitemaps_tests/test_generic.py +++ b/tests/sitemaps_tests/test_generic.py @@ -20,11 +20,13 @@ class GenericViewsSitemapTests(SitemapTestsBase): }, priority=0.6, changefreq='monthly', + protocol='https', ) attr_values = ( ('date_field', datetime_value), ('priority', 0.6), ('changefreq', 'monthly'), + ('protocol', 'https'), ) for attr_name, expected_value in attr_values: with self.subTest(attr_name=attr_name):