#23919: Cleanups for when we drop Python 2 compatibility -------------------------------------+------------------------------------- Reporter: timgraham | Owner: nobody Type: | Status: new Cleanup/optimization | Component: Core (Other) | Version: Severity: Normal | Resolution: Keywords: | Triage Stage: | Someday/Maybe Has patch: 0 | Needs documentation: 0 Needs tests: 0 | Patch needs improvement: 0 Easy pickings: 0 | UI/UX: 0 -------------------------------------+------------------------------------- Description changed by timgraham:
Old description: > This is a tracking ticket of things that we can remove when we drop > Python 2 compatibility in Django 2.0. Please edit the description of the > ticket as you come across new items. > > * `django.core.mail.message.make_msgid()` #23905 > * `django.dispatch.weakref_backports` > * `django.http.cookie` workarounds > * `django.utils.2to3_fixes` > * `django.utils.decorators.ContextDecorator` > * `django.utils.encoding` > * `@python_2_unicode_compatible` > * force/smart _unicode > * either force/smart _text or force/smart _str > * `django.utils.html_parser.use_workaround` > * `django.utils.http` functions like `urlquote_plus` -- I think the > versions of these functions on Python 3 don't have the unicode characters > bug we are working around. > * `django.utils.lru_cache` > * `django.utils.six` > * `from __future__ import unicode_literals` > * `str()` stuff for environment variables, e.g. > 0bfb53866199f366ed140d49938fd185e5898156 > * Inheriting from `object` in `django.core.servers.basehttp` (and perhaps > other places) ala 4ee06ec3fc8e94d164afbd2f9c880c60c658a9ac > * `git grep 'long int'` (mostly docs) > * `django.utils._os [npath,upath]` > * In tests: `contextlib.closing(self.urlopen` (`contextlib.closing` no > longer needed) > * Support for pysqlite (doesn't support Python 3) > * Replace `super(ClassName, self)` with `super()` > * Remove `# -*- coding: utf-8 -*-` source file encoding (that's the > default on Python 3) > * Evaluate replacement of custom `__del__` methods by > [https://docs.python.org/3/library/weakref.html#weakref.finalize > weakref.finalize] > * Remove `__ne__` from objects already defining a `__eq__` > * Remove note about PYTHONHASHSEED (see #26243) > * Remove Field.creation_counter (replace by metaclass `__prepare__` > returning `OrderedDict()`, > https://docs.python.org/3/reference/datamodel.html#preparing-the-class- > namespace) New description: This is a tracking ticket of things that we can remove when we drop Python 2 compatibility in Django 2.0. Please edit the description of the ticket as you come across new items. * `django.core.mail.message.make_msgid()` #23905 * `django.dispatch.weakref_backports` * `django.http.cookie` workarounds * `django.utils.2to3_fixes` * `django.utils.decorators.ContextDecorator` * `django.utils.encoding` * `@python_2_unicode_compatible` * force/smart _unicode * either force/smart _text or force/smart _str * `django.utils.html_parser.use_workaround` * `django.utils.http` functions like `urlquote_plus` -- I think the versions of these functions on Python 3 don't have the unicode characters bug we are working around. * `django.utils.lru_cache` * `django.utils.six` * `from __future__ import unicode_literals` * `str()` stuff for environment variables, e.g. 0bfb53866199f366ed140d49938fd185e5898156 * Inheriting from `object` in `django.core.servers.basehttp` (and perhaps other places) ala 4ee06ec3fc8e94d164afbd2f9c880c60c658a9ac * `git grep 'long int'` (mostly docs) * `django.utils._os [npath,upath]` * In tests: `contextlib.closing(self.urlopen` (`contextlib.closing` no longer needed) * Support for pysqlite (doesn't support Python 3) * Replace `super(ClassName, self)` with `super()` * Remove `# -*- coding: utf-8 -*-` source file encoding (that's the default on Python 3) * Evaluate replacement of custom `__del__` methods by [https://docs.python.org/3/library/weakref.html#weakref.finalize weakref.finalize] * Remove `__ne__` from objects already defining a `__eq__` * Remove note about PYTHONHASHSEED (see #26243) * Remove Field.creation_counter (replace by metaclass `__prepare__` returning `OrderedDict()`, https://docs.python.org/3/reference/datamodel.html#preparing-the-class- namespace) * `django.test.utils.reset_warning_registry()` -- -- Ticket URL: <https://code.djangoproject.com/ticket/23919#comment:20> Django <https://code.djangoproject.com/> The Web framework for perfectionists with deadlines. -- You received this message because you are subscribed to the Google Groups "Django updates" group. To unsubscribe from this group and stop receiving emails from it, send an email to django-updates+unsubscr...@googlegroups.com. To post to this group, send email to django-updates@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/django-updates/067.3a7668215685d7c1d7fee2d68bafaaa6%40djangoproject.com. For more options, visit https://groups.google.com/d/optout.