Доработка. Распаковка данных из файла настроек в формате json.
This commit is contained in:
@@ -39,6 +39,7 @@ config/unit_rr_right_bort="http://127.0.0.1:8080/reports/right_SelfTestReport.js
|
||||
config/unit_rr_request_period=5.0
|
||||
config/kems_files_path="user://kems/"
|
||||
config/emsg_files_path="user://emsg/"
|
||||
config/settings_path="user://settings.json"
|
||||
|
||||
[autoload]
|
||||
|
||||
|
||||
@@ -3,6 +3,8 @@ class_name rep_settings extends Node
|
||||
|
||||
## Параметры.
|
||||
|
||||
var settings_file = ProjectSettings.get_setting('application/config/settings_path', 'user://settings.json') # Путь к файлу с настройками
|
||||
|
||||
@export var UnitProfiles: = { \
|
||||
# Название | Протокол | Адрес | Порт | Широковещательное | Привязывать к адресу | Комментарий
|
||||
'уарэп-яу07-частный': ['yau07rx', '10.1.1.14', [50014], false, true, 'IP-адрес на котором принимают частные сообщения от ЯУ-07'],
|
||||
@@ -39,7 +41,23 @@ class_name rep_settings extends Node
|
||||
}
|
||||
|
||||
|
||||
func _ready() -> void: log.info('Модуль настроек готов')
|
||||
func _ready() -> void:
|
||||
var file = FileAccess.open(settings_file, FileAccess.READ)
|
||||
if file != null:
|
||||
var read = file.get_as_text()
|
||||
file.close()
|
||||
var json_conv: = JSON.new()
|
||||
if Error.OK == json_conv.parse(read):
|
||||
var json_data = json_conv.get_data()
|
||||
for key in UnitProfiles.keys():
|
||||
if json_data.has(key):
|
||||
UnitProfiles[key][1] = json_data[key][0]
|
||||
for i in len(json_data[key]) - 1:
|
||||
if json_data[key][1][i+1].is_valid_int():
|
||||
UnitProfiles[key][2][i] = int(json_data[key][i+1])
|
||||
else:
|
||||
UnitProfiles[key][2][i] = json_data[key][i+1]
|
||||
log.info('Модуль настроек готов')
|
||||
|
||||
|
||||
## Возвращает ключ устройства.
|
||||
|
||||
Reference in New Issue
Block a user