mirror of
				https://github.com/python/cpython.git
				synced 2025-10-31 13:41:24 +00:00 
			
		
		
		
	
		
			
	
	
		
			51 lines
		
	
	
	
		
			1.6 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
		
		
			
		
	
	
			51 lines
		
	
	
	
		
			1.6 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
|   | """Subset of importlib.abc used to reduce importlib.util imports.""" | ||
|  | from . import _bootstrap | ||
|  | import abc | ||
|  | 
 | ||
|  | 
 | ||
|  | 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 | ||
|  |         return _bootstrap._load_module_shim(self, fullname) | ||
|  | 
 | ||
|  |     def module_repr(self, module): | ||
|  |         """Return a module's repr.
 | ||
|  | 
 | ||
|  |         Used by the module type when the method does not raise | ||
|  |         NotImplementedError. | ||
|  | 
 | ||
|  |         This method is deprecated. | ||
|  | 
 | ||
|  |         """
 | ||
|  |         # The exception will cause ModuleType.__repr__ to ignore this method. | ||
|  |         raise NotImplementedError |