generated from zhangwei/Train_Identify
119 lines
4.4 KiB
Python
119 lines
4.4 KiB
Python
|
|
import configparser
|
|||
|
|
import json
|
|||
|
|
|
|||
|
|
config_ini = configparser.ConfigParser()
|
|||
|
|
|
|||
|
|
class ConfigT:
|
|||
|
|
def __init__(self, config_path):
|
|||
|
|
config_ini.read(config_path, encoding="utf-8")
|
|||
|
|
|
|||
|
|
self.config_path = config_path
|
|||
|
|
|
|||
|
|
self.server_port = None
|
|||
|
|
self.track_num = None
|
|||
|
|
|
|||
|
|
self.log_path = None
|
|||
|
|
self.stdout_log_level = None
|
|||
|
|
self.file_log_level = None
|
|||
|
|
|
|||
|
|
self.ip_address = None
|
|||
|
|
self.slot = None
|
|||
|
|
self.timeout = None
|
|||
|
|
self.interval_plc = None
|
|||
|
|
|
|||
|
|
self.upload_type = None
|
|||
|
|
self.upload_pinch_coal_url = None
|
|||
|
|
self.upload_gross_weight_url = None
|
|||
|
|
self.upload_device_type_url = None
|
|||
|
|
self.login_web_url = None
|
|||
|
|
self.username = None
|
|||
|
|
self.password = None
|
|||
|
|
self.authorization = None
|
|||
|
|
|
|||
|
|
self.loading_mark = None
|
|||
|
|
|
|||
|
|
self.carriage_num_max = None
|
|||
|
|
|
|||
|
|
self.initConfig()
|
|||
|
|
|
|||
|
|
def initConfig(self):
|
|||
|
|
|
|||
|
|
self.server_port = config_ini.getint('server', 'server_port')
|
|||
|
|
# 股道名称
|
|||
|
|
self.track_num = config_ini.getint('server', 'track_num')
|
|||
|
|
|
|||
|
|
# 日志地址
|
|||
|
|
self.log_path = config_ini.get('log', 'log_path')
|
|||
|
|
# 打印日志的存储级别
|
|||
|
|
self.stdout_log_level = config_ini.get('log', 'stdout_log_level')
|
|||
|
|
# 文件日志的存储级别
|
|||
|
|
self.file_log_level = config_ini.get('log', 'file_log_level')
|
|||
|
|
|
|||
|
|
# PLC 的IP地址
|
|||
|
|
self.ip_address = config_ini.get('plc', 'ip_address')
|
|||
|
|
# PLC 插槽
|
|||
|
|
self.slot = config_ini.getint('plc', 'slot')
|
|||
|
|
# 访问超时时间 秒为单位
|
|||
|
|
self.timeout = config_ini.getfloat('plc', 'timeout')
|
|||
|
|
# 读取PLC的循环间隔
|
|||
|
|
self.interval_plc = config_ini.getint('plc', 'interval_plc')
|
|||
|
|
|
|||
|
|
# 上传状态
|
|||
|
|
self.upload_type = config_ini.getint('upload', 'upload_type')
|
|||
|
|
# 登录web
|
|||
|
|
self.login_web_url = config_ini.get('upload', 'login_web_url')
|
|||
|
|
# 掐煤量上传地址
|
|||
|
|
self.upload_pinch_coal_url = config_ini.get('upload', 'upload_pinch_coal_url')
|
|||
|
|
# 毛重上传地址
|
|||
|
|
self.upload_gross_weight_url = config_ini.get('upload', 'upload_gross_weight_url')
|
|||
|
|
# 皮带、给煤机启停状态上传地址
|
|||
|
|
self.upload_device_type_url = config_ini.get('upload', 'upload_device_type_url')
|
|||
|
|
# 登录用户名
|
|||
|
|
self.username = config_ini.get('upload', 'username')
|
|||
|
|
# 登录密码
|
|||
|
|
self.password = config_ini.get('upload', 'password')
|
|||
|
|
# 登录授权码
|
|||
|
|
self.authorization = config_ini.get('upload', 'authorization')
|
|||
|
|
|
|||
|
|
# 装车车标记号
|
|||
|
|
self.loading_mark = config_ini.get('real_loading', 'loading_mark')
|
|||
|
|
|
|||
|
|
# 最大车厢数量
|
|||
|
|
self.carriage_num_max = config_ini.getint('other', 'carriage_num_max')
|
|||
|
|
|
|||
|
|
def getConfig(self):
|
|||
|
|
return json.dumps(self.__dict__)
|
|||
|
|
|
|||
|
|
def updateConfig(self, option, value):
|
|||
|
|
try:
|
|||
|
|
if option in {"server_port", "track_num"}:
|
|||
|
|
if option == "track_num" and not 0 < int(value) <= 2:
|
|||
|
|
return "配置项 %s 应该0<%s<=2,而本次设置内容为 %s" % (option, option, value)
|
|||
|
|
config_ini.set("server", option, value)
|
|||
|
|
elif option in {"log_path", "stdout_log_level", "file_log_level"}:
|
|||
|
|
config_ini.set("log", option, value)
|
|||
|
|
elif option in {"ip_address", "slot", "timeout", "interval_plc"}:
|
|||
|
|
config_ini.set("plc", option, value)
|
|||
|
|
elif option in {"upload_type",
|
|||
|
|
"login_web_url",
|
|||
|
|
"upload_pinch_coal_url",
|
|||
|
|
"upload_gross_weight_url",
|
|||
|
|
"upload_device_type_url",
|
|||
|
|
"username",
|
|||
|
|
"password",
|
|||
|
|
"authorization"}:
|
|||
|
|
config_ini.set("upload", option, value)
|
|||
|
|
elif option in {"loading_mark"}:
|
|||
|
|
config_ini.set("real_loading", option, value)
|
|||
|
|
elif option in {"carriage_num_max"}:
|
|||
|
|
config_ini.set("other", option, value)
|
|||
|
|
else:
|
|||
|
|
return "未找到此配置项 {%s: %s}" % (option, value)
|
|||
|
|
|
|||
|
|
config_ini.write(open(self.config_path, 'w'))
|
|||
|
|
self.initConfig()
|
|||
|
|
return ""
|
|||
|
|
except Exception as e:
|
|||
|
|
print("更改配置参数异常!%s" % str(e))
|
|||
|
|
return "更改配置参数异常!%s" % str(e)
|