summaryrefslogtreecommitdiffstats
path: root/Lib/importlib
diff options
context:
space:
mode:
authorVictor Stinner <vstinner@python.org>2020-11-20 13:44:02 (GMT)
committerGitHub <noreply@github.com>2020-11-20 13:44:02 (GMT)
commit3be8e220ede7764a403b74eb2051aa703dde2626 (patch)
tree6e518107c32a37adf642f1ebf35a98eb1e191f30 /Lib/importlib
parenta6109ef68d421712ba368ef502c4789e8de113e0 (diff)
downloadcpython-3be8e220ede7764a403b74eb2051aa703dde2626.zip
cpython-3be8e220ede7764a403b74eb2051aa703dde2626.tar.gz
cpython-3be8e220ede7764a403b74eb2051aa703dde2626.tar.bz2
bpo-42403: Use @staticmethod in importlib (GH-23395)
Use @staticmethod on methods using @classmethod but don't use their cls parameter on the following classes: * BuiltinImporter * FrozenImporter * WindowsRegistryFinder * PathFinder Leave methods using @_requires_builtin or @_requires_frozen unchanged, since this decorator requires the wrapped method to have an extra parameter (cls or self).
Diffstat (limited to 'Lib/importlib')
-rw-r--r--Lib/importlib/_bootstrap.py12
-rw-r--r--Lib/importlib/_bootstrap_external.py20
2 files changed, 16 insertions, 16 deletions
diff --git a/Lib/importlib/_bootstrap.py b/Lib/importlib/_bootstrap.py
index 854b603..9b7335b 100644
--- a/Lib/importlib/_bootstrap.py
+++ b/Lib/importlib/_bootstrap.py
@@ -761,16 +761,16 @@ class BuiltinImporter:
spec = cls.find_spec(fullname, path)
return spec.loader if spec is not None else None
- @classmethod
- def create_module(self, spec):
+ @staticmethod
+ def create_module(spec):
"""Create a built-in module"""
if spec.name not in sys.builtin_module_names:
raise ImportError('{!r} is not a built-in module'.format(spec.name),
name=spec.name)
return _call_with_frames_removed(_imp.create_builtin, spec)
- @classmethod
- def exec_module(self, module):
+ @staticmethod
+ def exec_module(module):
"""Exec a built-in module"""
_call_with_frames_removed(_imp.exec_builtin, module)
@@ -831,8 +831,8 @@ class FrozenImporter:
"""
return cls if _imp.is_frozen(fullname) else None
- @classmethod
- def create_module(cls, spec):
+ @staticmethod
+ def create_module(spec):
"""Use default semantics for module creation."""
@staticmethod
diff --git a/Lib/importlib/_bootstrap_external.py b/Lib/importlib/_bootstrap_external.py
index a0236c4..0ae49cf 100644
--- a/Lib/importlib/_bootstrap_external.py
+++ b/Lib/importlib/_bootstrap_external.py
@@ -754,8 +754,8 @@ class WindowsRegistryFinder:
'\\Modules\\{fullname}\\Debug')
DEBUG_BUILD = (_MS_WINDOWS and '_d.pyd' in EXTENSION_SUFFIXES)
- @classmethod
- def _open_registry(cls, key):
+ @staticmethod
+ def _open_registry(key):
try:
return winreg.OpenKey(winreg.HKEY_CURRENT_USER, key)
except OSError:
@@ -1219,8 +1219,8 @@ class _NamespaceLoader:
def __init__(self, name, path, path_finder):
self._path = _NamespacePath(name, path, path_finder)
- @classmethod
- def module_repr(cls, module):
+ @staticmethod
+ def module_repr(module):
"""Return repr for the module.
The method is deprecated. The import machinery does the job itself.
@@ -1261,8 +1261,8 @@ class PathFinder:
"""Meta path finder for sys.path and package __path__ attributes."""
- @classmethod
- def invalidate_caches(cls):
+ @staticmethod
+ def invalidate_caches():
"""Call the invalidate_caches() method on all path entry finders
stored in sys.path_importer_caches (where implemented)."""
for name, finder in list(sys.path_importer_cache.items()):
@@ -1271,8 +1271,8 @@ class PathFinder:
elif hasattr(finder, 'invalidate_caches'):
finder.invalidate_caches()
- @classmethod
- def _path_hooks(cls, path):
+ @staticmethod
+ def _path_hooks(path):
"""Search sys.path_hooks for a finder for 'path'."""
if sys.path_hooks is not None and not sys.path_hooks:
_warnings.warn('sys.path_hooks is empty', ImportWarning)
@@ -1390,8 +1390,8 @@ class PathFinder:
return None
return spec.loader
- @classmethod
- def find_distributions(cls, *args, **kwargs):
+ @staticmethod
+ def find_distributions(*args, **kwargs):
"""
Find distributions.