def import_reg(self, items): (identifier, module, __) = items if module.value == identifier: names = [_ast.alias(name=module.value, asname=None)] else: names = [_ast.alias(name=module.value, asname=identifier)] return _ast.Import(names=names)
def IMPORT_STAR(self, instr): import_ = self.ast_stack.pop() names = import_.names alias = _ast.alias(name='*', asname=None) from_ = _ast.ImportFrom(module=names[0].name, names=[alias], level=0, lineno=instr.lineno, col_offset=0) self.ast_stack.append(from_)
def IMPORT_FROM(self, instr): import_ = self.ast_stack.pop() names = [_ast.alias(instr.arg, None)] modname = import_.names[0].name from_ = _ast.ImportFrom(module=modname, names=names, level=0, lineno=instr.lineno, col_offset=0) self.ast_stack.append(from_) self.ast_stack.append(import_)
def IMPORT_NAME(self, instr): from_ = self.ast_stack.pop() hmm = self.ast_stack.pop() names = [_ast.alias(name=instr.arg, asname=None)] import_ = _ast.Import(names=names, lineno=instr.lineno, col_offset=0) import_.from_ = not isNone(from_) self.ast_stack.append(import_)
def Import(import_part='', from_part='', asname=None): """Creates either an _ast.Import node or an _ast.ImportFrom node. Args: import_part: The text that follows "import". from_part: The text that follows "from". Optional. Determines if we will return an _ast.Import or _ast.ImportFrom node. asname: Text that follows "as". Optional. Returns: An _ast.Import or _ast.ImportFrom node. """ names = [_ast.alias(name=import_part, asname=asname)] if from_part: return _ast.ImportFrom(level=0, module=from_part, names=names) else: return _ast.Import(names=names)
def import_alias(name: str, asname: str) -> _ast.alias: return _ast.alias(name=name, asname=asname)
def import_as_name(self, items): (import_name, as_name) = items return _ast.alias(name=import_name, asname=as_name)
def import_name(self, items): (items, ) = items return _ast.alias(name=items, asname=None)
def build_import(): module = menu('module')['module'] add_ast_node(_ast.Import(names=[_ast.alias(name=module, asname=None)]))
def visit_Module(self, module_node): module_node.body.insert( 0, _ast.Import(names=[_ast.alias(name='unittest')])) return module_node