def _get_wrapped_value(self): module_name, class_name = self._actual.split('.') # TODO use inference_state.import_module? from jedi.inference.imports import Importer module, = Importer(self.inference_state, [module_name], self.inference_state.builtins_module).follow() classes = module.py__getattribute__(class_name) # There should only be one, because it's code that we control. assert len(classes) == 1, classes cls = next(iter(classes)) return cls
def star_imports(self): from jedi.inference.imports import Importer modules = [] module_context = self.as_context() for i in self.tree_node.iter_imports(): if i.is_star_import(): new = Importer(self.inference_state, import_path=i.get_paths()[-1], module_context=module_context, level=i.level).follow() for module in new: if isinstance(module, ModuleValue): modules += module.star_imports() modules += new return modules
def infer(self): from jedi.inference.imports import Importer m = self._from_module_context return Importer(m.inference_state, [self.string_name], m, level=self._level).follow()