mirror of
				https://github.com/python/cpython.git
				synced 2025-10-28 04:04:44 +00:00 
			
		
		
		
	 e1182bc377
			
		
	
	
		e1182bc377
		
			
		
	
	
	
	
		
			
			* gh-94619: Remove long deprecated methods module_repr() and load_module() Closes #94619 * Update Misc/NEWS.d/next/Library/2022-07-06-14-57-33.gh-issue-94619.PRqKVX.rst Fix typo Co-authored-by: Brett Cannon <brett@python.org> Co-authored-by: Brett Cannon <brett@python.org>
		
			
				
	
	
		
			40 lines
		
	
	
	
		
			1.3 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			40 lines
		
	
	
	
		
			1.3 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
| """Subset of importlib.abc used to reduce importlib.util imports."""
 | |
| from . import _bootstrap
 | |
| import abc
 | |
| import warnings
 | |
| 
 | |
| 
 | |
| class Loader(metaclass=abc.ABCMeta):
 | |
| 
 | |
|     """Abstract base class for import loaders."""
 | |
| 
 | |
|     def create_module(self, spec):
 | |
|         """Return a module to initialize and into which to load.
 | |
| 
 | |
|         This method should raise ImportError if anything prevents it
 | |
|         from creating a new module.  It may return None to indicate
 | |
|         that the spec should create the new module.
 | |
|         """
 | |
|         # By default, defer to default semantics for the new module.
 | |
|         return None
 | |
| 
 | |
|     # We don't define exec_module() here since that would break
 | |
|     # hasattr checks we do to support backward compatibility.
 | |
| 
 | |
|     def load_module(self, fullname):
 | |
|         """Return the loaded module.
 | |
| 
 | |
|         The module must be added to sys.modules and have import-related
 | |
|         attributes set properly.  The fullname is a str.
 | |
| 
 | |
|         ImportError is raised on failure.
 | |
| 
 | |
|         This method is deprecated in favor of loader.exec_module(). If
 | |
|         exec_module() exists then it is used to provide a backwards-compatible
 | |
|         functionality for this method.
 | |
| 
 | |
|         """
 | |
|         if not hasattr(self, 'exec_module'):
 | |
|             raise ImportError
 | |
|         # Warning implemented in _load_module_shim().
 | |
|         return _bootstrap._load_module_shim(self, fullname)
 |