class_docstr: zipimporter(archivepath) -> zipimporter object
  
  Create a new zipimporter instance. 'archivepath' must be a path to
  a zipfile, or to a specific path inside a zipfile. For example, it can be
  '/tmp/myimport.zip', or '/tmp/myimport.zip/mydirectory', if mydirectory is a
  valid directory inside the archive.
  
  'ZipImportError is raised if 'archivepath' doesn't point to a valid Zip
  archive.
  
  The 'archive' attribute of zipimporter objects contains the name of the
  zipfile targeted.
class_docstr_tok: ["zipimporter","(","archivepath",")","-",">","zipimporter","object","Create","a","new","zipimporter","instance",".","'archivepath","'","must","be","a","path","to","a","zipfile",",","or","to","a","specific","path","inside","a","zipfile",".","For","example",",","it","can","be","'\/tmp\/myimport.zip","'",",","or","'\/tmp\/myimport.zip\/mydirectory","'",",","if","mydirectory","is","a","valid","directory","inside","the","archive",".","'ZipImportError","is","raised","if","'archivepath","'","does","n't","point","to","a","valid","Zip","archive",".","The","'archive","'","attribute","of","zipimporter","objects","contains","the","name","of","the","zipfile","targeted","."]
docstr: get_source(fullname) -> source string.
  
  Return the source code for the specified module. Raise ZipImportError
  if the module couldn't be found, return None if the archive does
  contain the module, but has no source for it.
docstr_tok: ["get_source","(","fullname",")","-",">","source","string",".","Return","the","source","code","for","the","specified","module",".","Raise","ZipImportError","if","the","module","could","n't","be","found",",","return","None","if","the","archive","does","contain","the","module",",","but","has","no","source","for","it","."]
code: def get_source(self, fullname):
      """get_source(fullname) -> source string.
  
      Return the source code for the specified module. Raise ZipImportError
      if the module couldn't be found, return None if the archive does
      contain the module, but has no source for it.
      """
      mi = _get_module_info(self, fullname)
      if mi is None:
          raise ZipImportError(
              f"can't find module {fullname!r}", name=fullname
          )
  
      path = _get_module_path(self, fullname)
      if mi:
          fullpath = _bootstrap_external._path_join(path, "__init__.py")
      else:
          fullpath = f"{path}.py"
  
      try:
          toc_entry = self._files[fullpath]
      except KeyError:
          # we have the module, but no source
          return None
      return _get_data(self.archive, toc_entry).decode()
  
imports: import _frozen_importlib_external
  from _frozen_importlib_external import _unpack_uint16, _unpack_uint32
  import _frozen_importlib
  import _imp
  import _io
  import marshal
  import sys
  import time
  import _warnings
label_desc: Use image node_id 8 for calling the zipimporter obj's underlying member method code with example usage: obj.get_source(fullname) and returns: _get_data, None