def _get_parent_smtbl(self, code, cfg): cfg = cfg_dict[code] prefix = cfg.prefix.rsplit('.', 1) mod_path = getabspath(cfg.codeobj.co_filename) mp_dotted = os.path.splitext(mod_path)[0].replace('/', '.') if len(prefix) == 2 and mp_dotted.endswith(prefix[0]): return module_symtables[mod_path] else: return smtbl
def _get_parent_smtbl(self, code, cfg): cfg = cfg_dict[code] prefix = cfg.prefix.rsplit(".", 1) mod_path = getabspath(cfg.codeobj.co_filename) mp_dotted = os.path.splitext(mod_path)[0].replace("/", ".") if len(prefix) == 2 and mp_dotted.endswith(prefix[0]): return module_symtables[mod_path] else: return smtbl
def from_code(path): path = getabspath(path) module_name = getmodulename(path) res = TypeModule(cfg_wrapper.import_module(path), module_name, path) prev_state = _state TypeCallable._set_state(RootState) res.call("types", 0) res._set_attrs() TypeCallable._set_state(prev_state) import_table[path] = res return res
def import_by_name_from_dir(name, parent_path): minfo = TypeModule.find_module_in_dir(name, parent_path) if minfo is None: # #printname, parent_path return {"types": create_unknown("types"), "values": create_unknown_value()} elif (minfo[1].find("/usr/") != -1) or (minfo[1] == ""): # stub for system modules or some libs return {"types": create_unknown("types"), "values": create_unknown_value()} full_path = getabspath(minfo[1]) if minfo[0] is not None: minfo[0].close() return TypeModule.import_from_path(full_path, minfo[0] is None)
def from_code(path): path = getabspath(path) module_name = getmodulename(path) init_path = os.path.join(path, "__init__.py") # print "IMPORTING PACKAGE %r" % path if os.path.exists(init_path): # print "FOUND INIT %r" % init_path module_name = getmodulename(init_path) res = TypePackage(cfg_wrapper.import_module(init_path), module_name, path) prev_state = _state TypeCallable._set_state(RootState) res.call("types", 0) res._set_attrs() TypeCallable._set_state(prev_state) else: res = TypePackage(None, module_name, path) import_table[path] = res return res
def import_by_name_from_dir(name, parent_path): minfo = TypeModule.find_module_in_dir(name, parent_path) if minfo is None: # #printname, parent_path return { "types": create_unknown("types"), "values": create_unknown_value() } elif (minfo[1].find('/usr/') != -1) or (minfo[1] == ''): # stub for system modules or some libs return { "types": create_unknown("types"), "values": create_unknown_value() } full_path = getabspath(minfo[1]) if minfo[0] is not None: minfo[0].close() return TypeModule.import_from_path(full_path, minfo[0] is None)
def from_code(path): path = getabspath(path) module_name = getmodulename(path) init_path = os.path.join(path, '__init__.py') # print "IMPORTING PACKAGE %r" % path if os.path.exists(init_path): # print "FOUND INIT %r" % init_path module_name = getmodulename(init_path) res = TypePackage(cfg_wrapper.import_module(init_path), module_name, path) prev_state = _state TypeCallable._set_state(RootState) res.call("types", 0) res._set_attrs() TypeCallable._set_state(prev_state) else: res = TypePackage(None, module_name, path) import_table[path] = res return res