146a7f8ff6
The metaclass boilerplate is safe to apply en masse. The future import boilerplate needs code to be inspected to be sure that there aren't any py2isms that need to be fixed. Split these two checks so that we can fix them independently Be explicit about which files are grandfathered so we can fix them up one by one
23 lines
747 B
ReStructuredText
23 lines
747 B
ReStructuredText
Sanity Tests » __metaclass__ = type boilerplate
|
|
===============================================
|
|
|
|
Most Python files should include the following boilerplate at the top of the file, right after the
|
|
comment header and ``from __future__ import``:
|
|
|
|
.. code-block:: python
|
|
|
|
__metaclass__ = type
|
|
|
|
|
|
Python 2 has "new-style classes" and "old-style classes" whereas Python 3 only has new-style classes.
|
|
Adding the ``__metaclass__ = type`` boilerplate makes every class defined in that file into
|
|
a new-style class as well.
|
|
|
|
.. code-block:: python
|
|
|
|
from __future__ import absolute_import, division, print_function
|
|
__metaclass__ = type
|
|
|
|
class Foo:
|
|
# This is a new-style class even on Python 2 because of the __metaclass__
|
|
pass
|