ansible/docs/docsite/rst/dev_guide/testing/sanity/metaclass-boilerplate.rst
Toshio Kuratomi 146a7f8ff6 Split the metaclass == type and from future boilerplate code.
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
2019-07-10 22:17:35 -07:00

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