From ab24add92ba319f715b515a767b582827906ba30 Mon Sep 17 00:00:00 2001 From: Maxim Date: Wed, 21 Jan 2026 09:52:51 +0300 Subject: [PATCH] =?UTF-8?q?=D0=97=D0=B0=D0=BC=D0=B5=D0=BD=D0=B0=20=D0=BA?= =?UTF-8?q?=D0=B0=D0=B2=D1=8B=D1=87=D0=B5=D0=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- scenes/pribor-afsp/pribor-bpo.gd | 8 ++-- scenes/контроль/control-prd.gd | 2 +- scenes/контроль/panel-container.gd | 6 +-- scenes/контроль/кассета-у-5.gd | 2 +- scenes/контроль/кнопка-прибора.gd | 2 +- scripts/prd-ctl-config.gd | 64 +++++++++++++++--------------- 6 files changed, 42 insertions(+), 42 deletions(-) diff --git a/scenes/pribor-afsp/pribor-bpo.gd b/scenes/pribor-afsp/pribor-bpo.gd index 8a8c210f..3976de05 100644 --- a/scenes/pribor-afsp/pribor-bpo.gd +++ b/scenes/pribor-afsp/pribor-bpo.gd @@ -111,15 +111,15 @@ func _on_request_completed(result, _response_code, headers, body: PackedByteArra func find_labels(node1: Node): if node1 is Label: - if node1.name in ["lbl_rname", "rname"]: - if not node1.has_meta("tooltip_set"): + if node1.name in ['lbl_rname', 'rname']: + if not node1.has_meta('tooltip_set'): ctrl_pos += 1 var box_number = ceili(float(ctrl_pos) / 10.0) var position_number = ctrl_pos % 10 if position_number == 0: position_number = 10 - node1.tooltip_text = "Ящик - %d, Позиция - %d" % [box_number, position_number] + node1.tooltip_text = 'Ящик - %d, Позиция - %d' % [box_number, position_number] node1.mouse_filter = Control.MOUSE_FILTER_STOP - node1.set_meta("tooltip_set", true) + node1.set_meta('tooltip_set', true) for child in node1.get_children(): find_labels(child) diff --git a/scenes/контроль/control-prd.gd b/scenes/контроль/control-prd.gd index 6c4475fd..b4666287 100644 --- a/scenes/контроль/control-prd.gd +++ b/scenes/контроль/control-prd.gd @@ -33,7 +33,7 @@ func _setup_signals() -> void: if not signaller: return - var signals_to_connect := ['режим_работа', 'режим_журнал', 'режим_эмс', 'режим_настройки", "режим_контроль'] + var signals_to_connect := ['режим_работа', 'режим_журнал', 'режим_эмс', 'режим_настройки', 'режим_контроль'] for signal_name in signals_to_connect: if signaller.has_signal(signal_name): signaller.connect(signal_name, Callable(self, '_on_status_change')) diff --git a/scenes/контроль/panel-container.gd b/scenes/контроль/panel-container.gd index a3477ccd..0e563e41 100644 --- a/scenes/контроль/panel-container.gd +++ b/scenes/контроль/panel-container.gd @@ -1,11 +1,11 @@ extends PanelContainer -## Изменяет состояние значка "прибор на связи" +## Изменяет состояние значка 'прибор на связи' func set_val(val: bool): $connect_pribor.set_frame(val) if val: $connect_pribor.modulate = Color(0.3, 1.0, 0.3, 1) # зелёный - set_tooltip_text("Есть связь") + set_tooltip_text('Есть связь') else: $connect_pribor.modulate = modulate # изначальный - set_tooltip_text("Нет связи") + set_tooltip_text('Нет связи') diff --git a/scenes/контроль/кассета-у-5.gd b/scenes/контроль/кассета-у-5.gd index 62cba8ce..ea16ed40 100644 --- a/scenes/контроль/кассета-у-5.gd +++ b/scenes/контроль/кассета-у-5.gd @@ -1,4 +1,4 @@ -extends "res://scenes/контроль/кассета.gd" +extends 'res://scenes/контроль/кассета.gd' enum STATE_VAL { NONE = 0, diff --git a/scenes/контроль/кнопка-прибора.gd b/scenes/контроль/кнопка-прибора.gd index f9c71197..3e2c8f0b 100644 --- a/scenes/контроль/кнопка-прибора.gd +++ b/scenes/контроль/кнопка-прибора.gd @@ -13,7 +13,7 @@ func _ready(): focus_mode = Control.FOCUS_ALL connect('focus_entered', _on_focus_entered) connect('focus_exited', _on_focus_exited) - ProjectSettings.connect("settings_changed", Callable(self, "_on_settings_changed")) + ProjectSettings.connect('settings_changed', Callable(self, '_on_settings_changed')) _on_settings_changed() diff --git a/scripts/prd-ctl-config.gd b/scripts/prd-ctl-config.gd index b5851062..02c842f4 100644 --- a/scripts/prd-ctl-config.gd +++ b/scripts/prd-ctl-config.gd @@ -5,9 +5,9 @@ extends RefCounted ## Загружает и управляет настройками из JSON-конфигурации #region CONSTANTS -const CONFIG_PATH = "user://config/setting_prd_control.json" -const DEFAULT_CONFIG_PATH = "res://config/setting_prd_control.json" -const CONFIG_VERSION = "1.0.0" # Версия конфигурации - увеличивать при изменениях +const CONFIG_PATH = 'user://config/setting_prd_control.json' +const DEFAULT_CONFIG_PATH = 'res://config/setting_prd_control.json' +const CONFIG_VERSION = '1.0.0' # Версия конфигурации - увеличивать при изменениях #endregion #region PRIVATE_VARIABLES @@ -22,12 +22,12 @@ var _ems_input_bits_config: Dictionary # Конфигурация бито var _fs_rules: Array # Правила ФС var _is_loaded: bool = false # Флаг успешной загрузки -var _current_version: String = "" # Текущая версия загруженной конфигурации +var _current_version: String = '' # Текущая версия загруженной конфигурации #endregion #region INITIALIZATION func _init() -> void: - """Инициализация менеджера конфигурации""" + '''Инициализация менеджера конфигурации''' _load_configuration() #endregion @@ -101,27 +101,27 @@ func _load_configuration() -> void: var parse_result = json.parse(json_text) if parse_result == OK: _config_data = json.data - _current_version = _config_data.get("config_version", "0.0.0") + _current_version = _config_data.get('config_version', '0.0.0') _parse_config_data() _is_loaded = true else: - push_error("Ошибка разбора JSON конфигурации: " + json.get_error_message()) + push_error('Ошибка разбора JSON конфигурации: ' + json.get_error_message()) _is_loaded = false else: - push_error("Ошибка загрузки файла конфигурации: " + CONFIG_PATH) + push_error('Ошибка загрузки файла конфигурации: ' + CONFIG_PATH) _is_loaded = false ## Парсит данные конфигурации по секциям func _parse_config_data() -> void: - _device_constants = _convert_numbers(_config_data.get("device_constants", {})) - _base_configs = _convert_numbers(_config_data.get("base_configs", {})) - _device_configs = _convert_numbers(_config_data.get("device_configs", {})) - _data_indices = _convert_numbers(_config_data.get("data_indices", {})) - _fs_keys = _convert_numbers(_config_data.get("fs_keys", {})) - _temperature_constants = _convert_numbers(_config_data.get("temperature_constants", {})) - _ems_input_bits_config = _convert_numbers(_config_data.get("ems_input_bits_config", {})) - _fs_rules = _convert_numbers(_config_data.get("fs_rules", [])) + _device_constants = _convert_numbers(_config_data.get('device_constants', {})) + _base_configs = _convert_numbers(_config_data.get('base_configs', {})) + _device_configs = _convert_numbers(_config_data.get('device_configs', {})) + _data_indices = _convert_numbers(_config_data.get('data_indices', {})) + _fs_keys = _convert_numbers(_config_data.get('fs_keys', {})) + _temperature_constants = _convert_numbers(_config_data.get('temperature_constants', {})) + _ems_input_bits_config = _convert_numbers(_config_data.get('ems_input_bits_config', {})) + _fs_rules = _convert_numbers(_config_data.get('fs_rules', [])) ## Конвертирует числовые значения в правильные типы (float -> int если возможно) @@ -149,12 +149,12 @@ static func _convert_numbers(value): ## Создает папку и копирует дефолтный файл если нужно func _ensure_config_exists() -> bool: # Создаем папку конфигурации если не существует - DirAccess.make_dir_recursive_absolute("user://config") + DirAccess.make_dir_recursive_absolute('user://config') # Проверяем, нужно ли обновить конфигурацию if _should_update_config(): return _update_config() - + # Если файл уже существует - все ок if FileAccess.file_exists(CONFIG_PATH): return true @@ -172,40 +172,40 @@ func _should_update_config() -> bool: # Если файла конфигурации нет - нужно создать if not FileAccess.file_exists(CONFIG_PATH): return true - + # Проверяем версию существующей конфигурации var config_file = FileAccess.open(CONFIG_PATH, FileAccess.READ) if config_file: var json_text = config_file.get_as_text() config_file.close() - + var json = JSON.new() if json.parse(json_text) == OK: - var existing_version = json.data.get("config_version", "0.0.0") + var existing_version = json.data.get('config_version', '0.0.0') # Сравниваем версии return _compare_versions(existing_version, CONFIG_VERSION) < 0 else: # Если ошибка парсинга - нужно обновить return true - + return false ## Сравнивает две версии (semantic versioning) ## Возвращает -1 если version1 < version2, 0 если равны, 1 если version1 > version2 static func _compare_versions(version1: String, version2: String) -> int: - var v1_parts = version1.split(".") - var v2_parts = version2.split(".") - + var v1_parts = version1.split('.') + var v2_parts = version2.split('.') + for i in range(max(v1_parts.size(), v2_parts.size())): var v1_part = int(v1_parts[i]) if i < v1_parts.size() else 0 var v2_part = int(v2_parts[i]) if i < v2_parts.size() else 0 - + if v1_part < v2_part: return -1 elif v1_part > v2_part: return 1 - + return 0 @@ -213,10 +213,10 @@ static func _compare_versions(version1: String, version2: String) -> int: func _update_config() -> bool: # Создаем резервную копию старой конфигурации if FileAccess.file_exists(CONFIG_PATH): - var backup_path = CONFIG_PATH + ".backup_v" + _current_version + var backup_path = CONFIG_PATH + '.backup_v' + _current_version DirAccess.copy_absolute(CONFIG_PATH, backup_path) - print("Создана резервная копия: ", backup_path) - + print('Создана резервная копия: ', backup_path) + # Копируем актуальную конфигурацию return _copy_default_config() @@ -224,13 +224,13 @@ func _update_config() -> bool: ## Копирует дефолтную конфигурацию в user директорию func _copy_default_config() -> bool: if not FileAccess.file_exists(DEFAULT_CONFIG_PATH): - push_error("Дефолтный файл конфигурации не найден: " + DEFAULT_CONFIG_PATH) + push_error('Дефолтный файл конфигурации не найден: ' + DEFAULT_CONFIG_PATH) return false var src := FileAccess.open(DEFAULT_CONFIG_PATH, FileAccess.READ) var dst := FileAccess.open(CONFIG_PATH, FileAccess.WRITE) if src == null or dst == null: - push_error("Ошибка копирования конфигурации") + push_error('Ошибка копирования конфигурации') return false dst.store_string(src.get_as_text())