#!/usr/bin/env python3
#########################################
# 版本：1.8.0
# 更新时间：2022年07月23日
#########################################
import os
import sys
import traceback
import updatekiller
import PyQt5.QtWidgets as QtWidgets
print("""白雪歌送武判官归京
北风卷地白草折，胡天八月即飞雪。忽如一夜春风来，千树万树梨花开。
散入珠帘湿罗幕，狐裘不暖锦衾薄。将军角弓不得控，都护铁衣冷难着。
瀚海阑干百丈冰，愁云惨淡万里凝。中军置酒饮归客，胡琴琵琶与羌笛。
纷纷暮雪下辕门，风掣红旗冻不翻。轮台东门送君去，去时雪满天山路。
山回路转不见君，雪上空留马行处。""")
print("")
print("译文：北风席卷大地把白草吹折，胡地天气八月就纷扬落雪。忽然间宛如一夜春风吹来，好像是千树万树梨花盛开。雪花散入珠帘打湿了罗幕，狐裘穿不暖锦被也嫌单薄。将军都护手冻得拉不开弓，铁甲冰冷得让人难以穿着。沙漠结冰百丈纵横有裂纹，万里长空凝聚着惨淡愁云。主帅帐中摆酒为归客饯行，胡琴琵琶羌笛合奏来助兴。傍晚辕门前大雪落个不停，红旗冻僵了风也无法牵引。轮台东门外欢送你回京去，你去时大雪盖满了天山路。山路迂回曲折已看不见你，雪上只留下一行马蹄印迹。")
print("================================")

########################
#
########################
# 写入文本文档
def write_txt(path: "路径", things: "内容")->"写入文本文档": 
    file = open(path, 'w', encoding='UTF-8')  # 设置文件对象
    file.write(things)  # 写入文本
    file.close()  # 关闭文本对象

# 读取文本文档
def readtxt(path: "路径")->"读取文本文档":
    f = open(path, "r")  # 设置文件对象
    str = f.read()       # 获取内容
    f.close()            # 关闭文本对象
    return str           # 返回结果

###################
# 判断是不是 root
###################
app = QtWidgets.QApplication(sys.argv)
if os.geteuid() != 0:
    print("不是以 root 权限运行本程序！")
    QtWidgets.QMessageBox.critical(None, "错误", "不是以 root 权限运行本程序！")
    sys.exit(1)

###################
#
###################
try:
    if sys.argv[1] == "1" and QtWidgets.QMessageBox.question(None, "提示", "你确定要删除吗？", QtWidgets.QMessageBox.Ok, QtWidgets.QMessageBox.Cancel) == QtWidgets.QMessageBox.Ok:
        os.remove("/data/uengine/data/data/misc/adb/adb_keys")
        QtWidgets.QMessageBox.information(None, "提示", "完成")
except:
    traceback.print_exc()
    QtWidgets.QMessageBox.critical(None, "错误", traceback.format_exc())
    sys.exit(2)
if sys.argv[1] == "1":
    sys.exit(0)

if QtWidgets.QMessageBox.question(None, "提示", '''请阅读以下提示然后确定是否继续：
1、安装后即可使用 adb 连接 UEngine;
2、重置 UEngine 或 adb 就需要重新设置该支持补丁;
3、需要 root 权限;''') == QtWidgets.QMessageBox.No:
    sys.exit(0)
# 写入（需要 root）
if not os.path.exists("/data/uengine/data/data/misc/adb"):
    QtWidgets.QMessageBox.critical(None, "错误", "无法读取 UEngine 数据！")
    sys.exit(1)
try:
    things = readtxt(sys.argv[2])
    adbKey = []
    # 提取内容
    for i in things.split('\n'):
        adbKey.append(i[0: i.find(" ")])
    old = ""
    if os.path.exists("/data/uengine/data/data/misc/adb/adb_keys"):
        old = readtxt("/data/uengine/data/data/misc/adb/adb_keys") + "\n"
    write_txt("/data/uengine/data/data/misc/adb/adb_keys", old + "\n".join(adbKey))
    QtWidgets.QMessageBox.information(None, "提示", "完成")
except:
    traceback.print_exc()
    QtWidgets.QMessageBox.information(None, "错误", traceback.format_exc())
    sys.exit(2)
