Files

77 lines
2.1 KiB
Python
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 程序的配置分为两部分一部分是由qml引擎控制的主配置必须启动qml才能访问。
# 而这里是第二部分的配置项单独存放少量关键配置可以在未启动qml之前访问。
import os
import json
_FileName = "./.pre_settings"
_Configs = {
"i18n": "", # 界面语言
"opengl": "", # 界面OpenGL渲染类型
"server_port": 1224, # 服务端口号
"last_pid": -1, # 最后一次运行时的进程号
"last_ptime": -1, # 最后一次运行时的进程创建时间
}
_Errors = {} # 记录读写预配置文件的异常情况
def getValue(key):
if key in _Configs:
return _Configs[key]
else:
raise ValueError
def setValue(key, value):
if key in _Configs:
_Configs[key] = value
writeConfigs()
else:
raise ValueError
def writeConfigs():
global _Errors
try:
with open(_FileName, "w", encoding="utf-8") as file:
json.dump(_Configs, file, ensure_ascii=False, indent=4)
except PermissionError:
_Errors[
"Write PermissionError"
] = "权限不足,无法写入配置文件。\nInsufficient permissions, unable to write to the configuration file."
except Exception as e:
_Errors[
"Write Error"
] = f"无法写入配置文件。\nUnable to write to the configuration file: {e}"
def readConfigs():
global _Errors
if not os.path.exists(_FileName):
return
try:
with open(_FileName, "r") as file:
data = json.load(file)
for key in _Configs:
_Configs[key] = data[key]
except PermissionError:
_Errors[
"Write PermissionError"
] = "权限不足,无法读取配置文件。\nInsufficient permissions, unable to read to the configuration file."
except Exception as e:
_Errors[
"Write Error"
] = f"无法读取配置文件。\nUnable to read to the configuration file: {e}"
# 返回异常情况字符串
def getErrorStr():
global _Errors
err = ""
if _Errors:
for e in _Errors.values():
err += e + "\n"
return err