gencache.py 文件源码

python
阅读 19 收藏 0 点赞 0 评论 0

项目:pupy 作者: ru-faraon 项目源码 文件源码
def GetGeneratedInfos():
    zip_pos = win32com.__gen_path__.find(".zip\\")
    if zip_pos >= 0:
        import zipfile
        zip_file = win32com.__gen_path__[:zip_pos+4]
        zip_path = win32com.__gen_path__[zip_pos+5:].replace("\\", "/")
        zf = zipfile.ZipFile(zip_file)
        infos = {}
        for n in zf.namelist():
            if not n.startswith(zip_path):
                continue
            base = n[len(zip_path)+1:].split("/")[0]
            try:
                iid, lcid, major, minor = base.split("x")
                lcid = int(lcid)
                major = int(major)
                minor = int(minor)
                iid = pywintypes.IID("{" + iid + "}")
            except ValueError:
                continue
            except pywintypes.com_error:
                # invalid IID
                continue
            infos[(iid, lcid, major, minor)] = 1
        zf.close()
        return list(infos.keys())
    else:
        # on the file system
        files = glob.glob(win32com.__gen_path__+ "\\*")
        ret = []
        for file in files:
            if not os.path.isdir(file) and not os.path.splitext(file)[1]==".py":
                continue
            name = os.path.splitext(os.path.split(file)[1])[0]
            try:
                iid, lcid, major, minor = name.split("x")
                iid = pywintypes.IID("{" + iid + "}")
                lcid = int(lcid)
                major = int(major)
                minor = int(minor)
            except ValueError:
                continue
            except pywintypes.com_error:
                # invalid IID
                continue
            ret.append((iid, lcid, major, minor))
        return ret
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号