Fixed #18054 -- Deprecated contrib.markup. Thanks to simukis for the initial patch.

This commit is contained in:
Preston Holmes 2012-06-23 17:57:20 +03:00 committed by Julien Phalip
parent 617d077f1f
commit 3da43c1111
5 changed files with 30 additions and 1 deletions

View File

@ -47,6 +47,9 @@ def markdown(value, arg=''):
they will be silently ignored. they will be silently ignored.
""" """
import warnings
warnings.warn('The markdown filter has been deprecated',
category=DeprecationWarning)
try: try:
import markdown import markdown
except ImportError: except ImportError:
@ -72,6 +75,9 @@ def markdown(value, arg=''):
@register.filter(is_safe=True) @register.filter(is_safe=True)
def restructuredtext(value): def restructuredtext(value):
import warnings
warnings.warn('The restructuredtext filter has been deprecated',
category=DeprecationWarning)
try: try:
from docutils.core import publish_parts from docutils.core import publish_parts
except ImportError: except ImportError:

View File

@ -1,7 +1,9 @@
# Quick tests for the markup templatetags (django.contrib.markup) # Quick tests for the markup templatetags (django.contrib.markup)
import re import re
import warnings
from django.template import Template, Context from django.template import Template, Context
from django import test
from django.utils import unittest from django.utils import unittest
from django.utils.html import escape from django.utils.html import escape
@ -21,7 +23,7 @@ try:
except ImportError: except ImportError:
docutils = None docutils = None
class Templates(unittest.TestCase): class Templates(test.TestCase):
textile_content = """Paragraph 1 textile_content = """Paragraph 1
@ -37,6 +39,13 @@ Paragraph 2 with a link_
.. _link: http://www.example.com/""" .. _link: http://www.example.com/"""
def setUp(self):
self.save_warnings_state()
warnings.filterwarnings('ignore', category=DeprecationWarning, module='django.contrib.markup')
def tearDown(self):
self.restore_warnings_state()
@unittest.skipUnless(textile, 'textile not installed') @unittest.skipUnless(textile, 'textile not installed')
def test_textile(self): def test_textile(self):
t = Template("{% load markup %}{{ textile_content|textile }}") t = Template("{% load markup %}{{ textile_content|textile }}")

View File

@ -264,6 +264,9 @@ these changes.
in 1.4. The backward compatibility will be removed -- in 1.4. The backward compatibility will be removed --
``HttpRequest.raw_post_data`` will no longer work. ``HttpRequest.raw_post_data`` will no longer work.
* ``django.contrib.markup`` will be removed following an accelerated
deprecation.
1.7 1.7
--- ---

View File

@ -5,6 +5,9 @@ django.contrib.markup
.. module:: django.contrib.markup .. module:: django.contrib.markup
:synopsis: A collection of template filters that implement common markup languages. :synopsis: A collection of template filters that implement common markup languages.
.. deprecated:: 1.5
This module has been deprecated.
Django provides template filters that implement the following markup Django provides template filters that implement the following markup
languages: languages:

View File

@ -358,3 +358,11 @@ the built-in :func:`itertools.product` instead.
The :class:`~django.utils.encoding.StrAndUnicode` mix-in has been deprecated. The :class:`~django.utils.encoding.StrAndUnicode` mix-in has been deprecated.
Define a ``__str__`` method and apply the Define a ``__str__`` method and apply the
:func:`~django.utils.encoding.python_2_unicode_compatible` decorator instead. :func:`~django.utils.encoding.python_2_unicode_compatible` decorator instead.
``django.utils.markup``
~~~~~~~~~~~~~~~~~~~~~~~
The markup contrib module has been deprecated and will follow an accelerated
deprecation schedule. Direct use of python markup libraries or 3rd party tag
libraries is preferred to Django maintaining this functionality in the
framework.