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 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