Browse Source

Removed contrib.flatpages.FlatPageSitemap per deprecation timeline; refs #23884.

Tim Graham 10 years ago
parent
commit
c2d5f2903c

+ 0 - 24
django/contrib/sitemaps/__init__.py

@@ -1,11 +1,8 @@
-import warnings
-
 from django.apps import apps as django_apps
 from django.apps import apps as django_apps
 from django.conf import settings
 from django.conf import settings
 from django.core import urlresolvers, paginator
 from django.core import urlresolvers, paginator
 from django.core.exceptions import ImproperlyConfigured
 from django.core.exceptions import ImproperlyConfigured
 from django.utils import translation
 from django.utils import translation
-from django.utils.deprecation import RemovedInDjango19Warning
 from django.utils.six.moves.urllib.parse import urlencode
 from django.utils.six.moves.urllib.parse import urlencode
 from django.utils.six.moves.urllib.request import urlopen
 from django.utils.six.moves.urllib.request import urlopen
 
 
@@ -135,27 +132,6 @@ class Sitemap(object):
         return urls
         return urls
 
 
 
 
-class FlatPageSitemap(Sitemap):
-    # This class is not a subclass of
-    # django.contrib.flatpages.sitemaps.FlatPageSitemap to avoid a
-    # circular import problem.
-
-    def __init__(self):
-        warnings.warn(
-            "'django.contrib.sitemaps.FlatPageSitemap' is deprecated. "
-            "Use 'django.contrib.flatpages.sitemaps.FlatPageSitemap' instead.",
-            RemovedInDjango19Warning,
-            stacklevel=2
-        )
-
-    def items(self):
-        if not django_apps.is_installed('django.contrib.sites'):
-            raise ImproperlyConfigured("FlatPageSitemap requires django.contrib.sites, which isn't installed.")
-        Site = django_apps.get_model('sites.Site')
-        current_site = Site.objects.get_current()
-        return current_site.flatpage_set.filter(registration_required=False)
-
-
 class GenericSitemap(Sitemap):
 class GenericSitemap(Sitemap):
     priority = None
     priority = None
     changefreq = None
     changefreq = None

+ 0 - 62
django/contrib/sitemaps/tests/test_flatpages.py

@@ -1,62 +0,0 @@
-from __future__ import unicode_literals
-
-from unittest import skipUnless
-import warnings
-
-from django.apps import apps
-from django.conf import settings
-from django.contrib.sitemaps import FlatPageSitemap
-from django.test import SimpleTestCase, ignore_warnings
-from django.utils.deprecation import RemovedInDjango19Warning
-
-from .base import SitemapTestsBase
-
-
-class FlatpagesSitemapTests(SitemapTestsBase):
-
-    @ignore_warnings(category=RemovedInDjango19Warning)
-    @skipUnless(apps.is_installed('django.contrib.flatpages'),
-                "django.contrib.flatpages app not installed.")
-    def test_flatpage_sitemap(self):
-        "Basic FlatPage sitemap test"
-
-        # Import FlatPage inside the test so that when django.contrib.flatpages
-        # is not installed we don't get problems trying to delete Site
-        # objects (FlatPage has an M2M to Site, Site.delete() tries to
-        # delete related objects, but the M2M table doesn't exist.
-        from django.contrib.flatpages.models import FlatPage
-
-        public = FlatPage.objects.create(
-            url='/public/',
-            title='Public Page',
-            enable_comments=True,
-            registration_required=False,
-        )
-        public.sites.add(settings.SITE_ID)
-        private = FlatPage.objects.create(
-            url='/private/',
-            title='Private Page',
-            enable_comments=True,
-            registration_required=True
-        )
-        private.sites.add(settings.SITE_ID)
-        response = self.client.get('/flatpages/sitemap.xml')
-        # Public flatpage should be in the sitemap
-        self.assertContains(response, '<loc>%s%s</loc>' % (self.base_url, public.url))
-        # Private flatpage should not be in the sitemap
-        self.assertNotContains(response, '<loc>%s%s</loc>' % (self.base_url, private.url))
-
-
-class FlatpagesSitemapDeprecationTests(SimpleTestCase):
-
-    def test_deprecation(self):
-        with warnings.catch_warnings(record=True) as warns:
-            warnings.simplefilter('always')
-            FlatPageSitemap()
-
-        self.assertEqual(len(warns), 1)
-        self.assertEqual(
-            str(warns[0].message),
-            "'django.contrib.sitemaps.FlatPageSitemap' is deprecated. "
-            "Use 'django.contrib.flatpages.sitemaps.FlatPageSitemap' instead.",
-        )

+ 1 - 8
django/contrib/sitemaps/tests/urls/http.py

@@ -1,7 +1,7 @@
 from datetime import date, datetime
 from datetime import date, datetime
 from django.conf.urls import url
 from django.conf.urls import url
 from django.conf.urls.i18n import i18n_patterns
 from django.conf.urls.i18n import i18n_patterns
-from django.contrib.sitemaps import Sitemap, GenericSitemap, FlatPageSitemap, views
+from django.contrib.sitemaps import Sitemap, GenericSitemap, views
 from django.http import HttpResponse
 from django.http import HttpResponse
 from django.utils import timezone
 from django.utils import timezone
 from django.views.decorators.cache import cache_page
 from django.views.decorators.cache import cache_page
@@ -90,10 +90,6 @@ generic_sitemaps = {
     'generic': GenericSitemap({'queryset': TestModel.objects.all()}),
     'generic': GenericSitemap({'queryset': TestModel.objects.all()}),
 }
 }
 
 
-flatpage_sitemaps = {
-    'flatpages': FlatPageSitemap,
-}
-
 
 
 urlpatterns = [
 urlpatterns = [
     url(r'^simple/index\.xml$', views.index, {'sitemaps': simple_sitemaps}),
     url(r'^simple/index\.xml$', views.index, {'sitemaps': simple_sitemaps}),
@@ -129,9 +125,6 @@ urlpatterns = [
     url(r'^generic/sitemap\.xml$', views.sitemap,
     url(r'^generic/sitemap\.xml$', views.sitemap,
         {'sitemaps': generic_sitemaps},
         {'sitemaps': generic_sitemaps},
         name='django.contrib.sitemaps.views.sitemap'),
         name='django.contrib.sitemaps.views.sitemap'),
-    url(r'^flatpages/sitemap\.xml$', views.sitemap,
-        {'sitemaps': flatpage_sitemaps},
-        name='django.contrib.sitemaps.views.sitemap'),
     url(r'^cached/index\.xml$', cache_page(1)(views.index),
     url(r'^cached/index\.xml$', cache_page(1)(views.index),
         {'sitemaps': simple_sitemaps, 'sitemap_url_name': 'cached_sitemap'}),
         {'sitemaps': simple_sitemaps, 'sitemap_url_name': 'cached_sitemap'}),
     url(r'^cached/sitemap-(?P<section>.+)\.xml', cache_page(1)(views.sitemap),
     url(r'^cached/sitemap-(?P<section>.+)\.xml', cache_page(1)(views.sitemap),

+ 1 - 15
docs/ref/contrib/sitemaps.txt

@@ -247,21 +247,7 @@ Sitemap class reference
 Shortcuts
 Shortcuts
 =========
 =========
 
 
-The sitemap framework provides a couple convenience classes for common cases:
-
-.. class:: FlatPageSitemap
-
-    .. deprecated:: 1.8
-
-        Use :class:`django.contrib.flatpages.sitemaps.FlatPageSitemap` instead.
-
-    The :class:`django.contrib.sitemaps.FlatPageSitemap` class looks at all
-    publicly visible :mod:`flatpages <django.contrib.flatpages>`
-    defined for the current :setting:`SITE_ID` (see the
-    :mod:`sites documentation <django.contrib.sites>`) and
-    creates an entry in the sitemap. These entries include only the
-    :attr:`~Sitemap.location` attribute -- not :attr:`~Sitemap.lastmod`,
-    :attr:`~Sitemap.changefreq` or :attr:`~Sitemap.priority`.
+The sitemap framework provides a convenience class for a common case:
 
 
 .. class:: GenericSitemap
 .. class:: GenericSitemap