From 4e68e861533846010e372ecf58e3cd0439081754 Mon Sep 17 00:00:00 2001 From: Aymeric Augustin Date: Sun, 12 Aug 2012 14:39:48 +0200 Subject: [py3] Deprecated StrAndUnicode. This mix-in is superseded by the @python_2_unicode_compatible decorator. --- django/utils/encoding.py | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'django/utils') diff --git a/django/utils/encoding.py b/django/utils/encoding.py index 7030ab1db0..633022dd3b 100644 --- a/django/utils/encoding.py +++ b/django/utils/encoding.py @@ -8,6 +8,7 @@ try: from urllib.parse import quote except ImportError: # Python 2 from urllib import quote +import warnings from django.utils.functional import Promise from django.utils import six @@ -32,6 +33,12 @@ class StrAndUnicode(object): Useful as a mix-in. If you support Python 2 and 3 with a single code base, you can inherit this mix-in and just define __unicode__. """ + def __init__(self, *args, **kwargs): + warnings.warn("StrAndUnicode is deprecated. Define a __str__ method " + "and apply the @python_2_unicode_compatible decorator " + "instead.", PendingDeprecationWarning, stacklevel=2) + super(StrAndUnicode, self).__init__(*args, **kwargs) + if six.PY3: def __str__(self): return self.__unicode__() -- cgit v1.3