mirror of
				https://github.com/django/django.git
				synced 2025-10-29 00:26:07 +00:00 
			
		
		
		
	Refs #25916 -- Removed SitemapIndexItem.__str__() per deprecation timeline.
This commit is contained in:
		| @@ -1,5 +1,4 @@ | ||||
| import datetime | ||||
| import warnings | ||||
| from dataclasses import dataclass | ||||
| from functools import wraps | ||||
|  | ||||
| @@ -9,7 +8,6 @@ from django.http import Http404 | ||||
| from django.template.response import TemplateResponse | ||||
| from django.urls import reverse | ||||
| from django.utils import timezone | ||||
| from django.utils.deprecation import RemovedInDjango50Warning | ||||
| from django.utils.http import http_date | ||||
|  | ||||
|  | ||||
| @@ -18,15 +16,6 @@ class SitemapIndexItem: | ||||
|     location: str | ||||
|     last_mod: bool = None | ||||
|  | ||||
|     # RemovedInDjango50Warning | ||||
|     def __str__(self): | ||||
|         msg = ( | ||||
|             "Calling `__str__` on SitemapIndexItem is deprecated, use the `location` " | ||||
|             "attribute instead." | ||||
|         ) | ||||
|         warnings.warn(msg, RemovedInDjango50Warning, stacklevel=2) | ||||
|         return self.location | ||||
|  | ||||
|  | ||||
| def x_robots_tag(func): | ||||
|     @wraps(func) | ||||
|   | ||||
| @@ -305,4 +305,4 @@ to remove usage of these features. | ||||
| See :ref:`deprecated-features-4.1` for details on these changes, including how | ||||
| to remove usage of these features. | ||||
|  | ||||
| * ... | ||||
| * The ``SitemapIndexItem.__str__()`` method is removed. | ||||
|   | ||||
| @@ -1,5 +0,0 @@ | ||||
| <?xml version="1.0" encoding="UTF-8"?> | ||||
| <!-- This is a customised template --> | ||||
| <sitemapindex xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"> | ||||
| {% for location in sitemaps %}<sitemap><loc>{{ location }}</loc></sitemap>{% endfor %} | ||||
| </sitemapindex> | ||||
| @@ -4,9 +4,8 @@ from datetime import date | ||||
| from django.contrib.sitemaps import Sitemap | ||||
| from django.contrib.sites.models import Site | ||||
| from django.core.exceptions import ImproperlyConfigured | ||||
| from django.test import ignore_warnings, modify_settings, override_settings | ||||
| from django.test import modify_settings, override_settings | ||||
| from django.utils import translation | ||||
| from django.utils.deprecation import RemovedInDjango50Warning | ||||
| from django.utils.formats import localize | ||||
|  | ||||
| from .base import SitemapTestsBase | ||||
| @@ -579,44 +578,3 @@ class HTTPSitemapTests(SitemapTestsBase): | ||||
|         </sitemapindex> | ||||
|         """ | ||||
|         self.assertXMLEqual(index_response.content.decode(), expected_content_index) | ||||
|  | ||||
|  | ||||
| # RemovedInDjango50Warning | ||||
| class DeprecatedTests(SitemapTestsBase): | ||||
|     @override_settings( | ||||
|         TEMPLATES=[ | ||||
|             { | ||||
|                 "BACKEND": "django.template.backends.django.DjangoTemplates", | ||||
|                 "DIRS": [os.path.join(os.path.dirname(__file__), "templates")], | ||||
|             } | ||||
|         ] | ||||
|     ) | ||||
|     def test_simple_sitemap_custom_index_warning(self): | ||||
|         msg = ( | ||||
|             "Calling `__str__` on SitemapIndexItem is deprecated, use the `location` " | ||||
|             "attribute instead." | ||||
|         ) | ||||
|         with self.assertRaisesMessage(RemovedInDjango50Warning, msg): | ||||
|             self.client.get("/simple/custom-index.xml") | ||||
|  | ||||
|     @ignore_warnings(category=RemovedInDjango50Warning) | ||||
|     @override_settings( | ||||
|         TEMPLATES=[ | ||||
|             { | ||||
|                 "BACKEND": "django.template.backends.django.DjangoTemplates", | ||||
|                 "DIRS": [os.path.join(os.path.dirname(__file__), "templates")], | ||||
|             } | ||||
|         ] | ||||
|     ) | ||||
|     def test_simple_sitemap_custom_index(self): | ||||
|         "A simple sitemap index can be rendered with a custom template" | ||||
|         response = self.client.get("/simple/custom-index.xml") | ||||
|         expected_content = """<?xml version="1.0" encoding="UTF-8"?> | ||||
|     <!-- This is a customised template --> | ||||
|     <sitemapindex xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"> | ||||
|     <sitemap><loc>%s/simple/sitemap-simple.xml</loc></sitemap> | ||||
|     </sitemapindex> | ||||
|     """ % ( | ||||
|             self.base_url | ||||
|         ) | ||||
|         self.assertXMLEqual(response.content.decode(), expected_content) | ||||
|   | ||||
| @@ -279,11 +279,6 @@ urlpatterns = [ | ||||
|         views.index, | ||||
|         {"sitemaps": simple_sitemaps_not_callable}, | ||||
|     ), | ||||
|     path( | ||||
|         "simple/custom-index.xml", | ||||
|         views.index, | ||||
|         {"sitemaps": simple_sitemaps, "template_name": "custom_sitemap_index.xml"}, | ||||
|     ), | ||||
|     path( | ||||
|         "simple/custom-lastmod-index.xml", | ||||
|         views.index, | ||||
|   | ||||
		Reference in New Issue
	
	Block a user