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 visit_Import(self, node):
      new_aliases = []
      for alias in node.names:
          name = alias.asname or alias.name
          self.identifiers[-1][name] = mangle_imported_module(
              alias.name
          )
          if alias.name in self.imported:
              continue
          if is_builtin_module(alias.name):
              new_aliases.append(alias)
              continue
  
          new_stmts = self.import_module(alias.name, 0)
          self.imported_stmts.extend(new_stmts)
  
      if new_aliases:
          node.names = new_aliases
          return node
      else:
          return None
  
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 18 for calling the HandleImport obj's underlying member method code with example usage: obj.visit_Import(node) and returns: node, None