(root)/
Python-3.12.0/
Lib/
importlib/
_abc.py
       1  """Subset of importlib.abc used to reduce importlib.util imports."""
       2  from . import _bootstrap
       3  import abc
       4  
       5  
       6  class ESC[4;38;5;81mLoader(metaclass=ESC[4;38;5;149mabcESC[4;38;5;149m.ESC[4;38;5;149mABCMeta):
       7  
       8      """Abstract base class for import loaders."""
       9  
      10      def create_module(self, spec):
      11          """Return a module to initialize and into which to load.
      12  
      13          This method should raise ImportError if anything prevents it
      14          from creating a new module.  It may return None to indicate
      15          that the spec should create the new module.
      16          """
      17          # By default, defer to default semantics for the new module.
      18          return None
      19  
      20      # We don't define exec_module() here since that would break
      21      # hasattr checks we do to support backward compatibility.
      22  
      23      def load_module(self, fullname):
      24          """Return the loaded module.
      25  
      26          The module must be added to sys.modules and have import-related
      27          attributes set properly.  The fullname is a str.
      28  
      29          ImportError is raised on failure.
      30  
      31          This method is deprecated in favor of loader.exec_module(). If
      32          exec_module() exists then it is used to provide a backwards-compatible
      33          functionality for this method.
      34  
      35          """
      36          if not hasattr(self, 'exec_module'):
      37              raise ImportError
      38          # Warning implemented in _load_module_shim().
      39          return _bootstrap._load_module_shim(self, fullname)