Files
work-secretfile-selfcheck/UmiOCR-data/py_src/utils/pre_configs.py

77 lines
2.1 KiB
Python
Raw Normal View History

# 程序的配置分为两部分一部分是由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