class_docstr: This pass handle user-defined import, mangling name for function from
  other modules and include them in the current module, patching all call
  site accordingly.
class_docstr_tok: ["This","pass","handle","user-defined","import",",","mangling","name","for","function","from","other","modules","and","include","them","in","the","current","module",",","patching","all","call","site","accordingly","."]
code: def import_module(self, module_name, module_level):
      self.imported.add(module_name)
      module_node = getsource(
          module_name, self.passmanager.module_dir, module_level
      )
      self.prefixes.append(mangle_imported_module(module_name))
      self.identifiers.append({})
      self.rename_top_level_functions(module_node)
      self.generic_visit(module_node)
      self.prefixes.pop()
      self.identifiers.pop()
      return module_node.body
  
imports: from pythran.passmanager import Transformation
  from pythran.tables import MODULES, pythran_ward
  from pythran.syntax import PythranSyntaxError
  import gast
  import logging
  import os
label_desc: Use image node_id 16 for calling the HandleImport obj's underlying member method code with example usage: obj.import_module(module_name, module_level) and returns: module_node