in favour of using :c:func:`PyObject_DelAttr`, but there are currently no
plans to remove it.
- The function must not be called with ``NULL`` *v* and an an exception set.
+ The function must not be called with a ``NULL`` *v* and an exception set.
This case can arise from forgetting ``NULL`` checks and would delete the
attribute.
If *v* is ``NULL``, the attribute is deleted, but this feature is
deprecated in favour of using :c:func:`PyObject_DelAttrString`.
- The function must not be called with ``NULL`` *v* and an an exception set.
+ The function must not be called with a ``NULL`` *v* and an exception set.
This case can arise from forgetting ``NULL`` checks and would delete the
attribute.
1. a :class:`Request` object,
#. a file-like object with the HTTP error body,
#. the three-digit code of the error, as a string,
- #. the user-visible explanation of the code, as as string, and
+ #. the user-visible explanation of the code, as a string, and
#. the headers of the error, as a mapping object.
Return values and exceptions raised should be the same as those of
compatibility between versions of Python, ensure that an explicit ``encoding``
argument is always provided. The :ref:`opt-in encoding warning <io-encoding-warning>`
can be used to identify code that may be affected by this change.
- The special special ``encoding='locale'`` argument uses the current locale
+ The special ``encoding='locale'`` argument uses the current locale
encoding, and has been supported since Python 3.10.
To retain the previous behaviour, Python's UTF-8 mode may be disabled with
def _run_forever_setup(self):
"""Prepare the run loop to process events.
- This method exists so that custom custom event loop subclasses (e.g., event loops
+ This method exists so that custom event loop subclasses (e.g., event loops
that integrate a GUI event loop with Python's event loop) have access to all the
loop setup logic.
"""
def _run_forever_cleanup(self):
"""Clean up after an event loop finishes the looping over events.
- This method exists so that custom custom event loop subclasses (e.g., event loops
+ This method exists so that custom event loop subclasses (e.g., event loops
that integrate a GUI event loop with Python's event loop) have access to all the
loop cleanup logic.
"""
if is_error and short_name in _TEST_LIFECYCLE_HOOKS:
if test_full_name.startswith(('setUpModule (', 'tearDownModule (')):
# if setUpModule() or tearDownModule() failed, don't filter
- # tests with the test file name, don't use use filters.
+ # tests with the test file name, don't use filters.
return None
# This means that we have a failure in a life-cycle hook,
'module'.
The 'name_of_module' argument can specify (as a string or tuple thereof)
- what module(s) an API could be defined in in order to be detected as a
+ what module(s) an API could be defined in order to be detected as a
public API. One case for this is when 'module' imports part of its public
API from other modules, possibly a C backend (like 'csv' and its '_csv').