#!/usr/bin/env python3 # 使用系统默认的 python3 运行 ########################################################################################### # 作者:gfdgd xi、为什么您不喜欢熊出没和阿布呢 # 版本:2.1.0 # 更新时间:2022年08月25日 # 感谢:感谢 wine 以及 deepin-wine 团队,提供了 wine 和 deepin-wine 给大家使用,让我能做这个程序 # 基于 Python3 构建 ########################################################################################### ################# # 引入所需的库 ################# import os import sys import json import shutil import req as requests homePath = os.path.expanduser('~') try: fontList = json.loads(requests.get("https://code.gitlink.org.cn/gfdgd_xi/wine-runner-list/raw/branch/master/fonts/list.json").text) except: fontList = [ ["fake_simsun.ttc", "https://gitlink.org.cn/api/attachments/392168", "simsun.ttc", "fake_simsun.ttc(会替换容器内的宋体,且与 deepin 有问题)"], ["simsun.ttc", "https://gitlink.org.cn/api/attachments/392181", "simsun.ttc", "simsun.ttc"], ["simsunb.ttf", "https://gitlink.org.cn/api/attachments/392180", "simsunb.ttf", "simsunb.ttf"], ["msyh.ttc", "https://gitlink.org.cn/api/attachments/392182", "msyh.ttc", "msyh.ttc"], ["msyhl.ttc", "https://gitlink.org.cn/api/attachments/392184", "msyhl.ttc", "msyhl.ttc"], ["msyhbd.ttc", "https://gitlink.org.cn/api/attachments/392183", "msyhbd.ttc", "msyhbd.ttc"] ] def Download(wineBotton: str, id: int) -> int: return os.system(f"aria2c -x 16 -s 16 -d '{wineBotton}/drive_c/windows/Fonts/{fontList[id][2]}' -o '{fontList[id][0]}' \"{fontList[id][1]}\"") if __name__ == "__main__": if "--help" in sys.argv: print("作者:gfdgd xi、为什么您不喜欢熊出没和阿布呢") print("版本:1.0.0") print("本程序可以更方便的在 wine 容器中安装指定应用") sys.exit() if len(sys.argv) <= 1 or sys.argv[1] == "": print("您未指定需要安装的容器,无法继续") print("参数:") print("XXX 参数一") print("参数一为需要安装的容器") sys.exit() while True: os.system("clear") print(''' mmmmmm m # mmm m mm mm#mm mmm #mmmmm #" "# #" # # # " # # # # # # """m # "#m#" # # "mm "mmm" ''') if not os.path.exists(f"{sys.argv[1]}/drive_c/windows/Fonts"): input("您选择的不是 Wine 容器,无法继续,按回车键退出") exit() for i in range(0, len(fontList)): print(f"{i} {fontList[i][3]}") while True: try: choose = input("请输入要选择的 字体(输入“exit”退出):").lower() if choose == "exit": break choose = int(choose) except: print("输入错误,请重新输入") continue if 0 <= choose and choose < len(fontList): break if choose == "exit": exit() print(f"您选择了字体 {fontList[choose][0]}") if os.path.exists(f"{homePath}/.cache/deepin-wine-runner/font/{fontList[choose][0]}"): print("已经缓存,使用本地版本") if os.path.exists(f"{sys.argv[1]}/drive_c/windows/Fonts/{fontList[choose][2]}"): print("字体已存在,覆盖") shutil.copy(f"{homePath}/.cache/deepin-wine-runner/font/{fontList[choose][0]}", f"{sys.argv[1]}/drive_c/windows/Fonts/{fontList[choose][2]}") input("安装结束,按回车键继续") continue print("开始下载") os.system(f"rm -rf '{homePath}/.cache/deepin-wine-runner/font/{fontList[choose][0]}'") os.system(f"mkdir -p '{homePath}/.cache/deepin-wine-runner/font'") os.system(f"aria2c -x 16 -s 16 -d '{homePath}/.cache/deepin-wine-runner/font' -o '{fontList[choose][0]}' \"{fontList[choose][1]}\"") if os.path.exists(f"{sys.argv[1]}/drive_c/windows/Fonts/{fontList[choose][2]}"): print("字体已存在,覆盖") try: shutil.copy(f"{homePath}/.cache/deepin-wine-runner/font/{fontList[choose][0]}", f"{sys.argv[1]}/drive_c/windows/Fonts/{fontList[choose][2]}") except: print("拷贝失败!") input("安装结束,按回车键继续")