Merge branch 'PMSManager_refactor'
Some checks reported errors
continuous-integration/drone Build was killed

This commit is contained in:
2025-07-19 19:15:03 +09:00
30 changed files with 1150 additions and 1721 deletions

View File

@@ -52,6 +52,7 @@ class PMSIntegrationManager:
"""
Загружает плагин, соответствующий PMS конфигурации отеля.
"""
<<<<<<< HEAD
pms_name = self.hotel.pms.plugin_name.lower()
if pms_name in self.plugins:
plugin_class = self.plugins[pms_name]
@@ -60,6 +61,28 @@ class PMSIntegrationManager:
else:
raise ValueError(f"Неизвестный PMS: {pms_name}")
=======
pms_name = self.hotel.pms.plugin_name.lower() # Приводим название плагина к нижнему регистру
# Формируем имя модуля и класса плагина
plugin_module_name = f"pms_integration.plugins.{pms_name}_pms"
plugin_class_name = f"{pms_name.capitalize()}PMSPlugin"
try:
# Динамически импортируем модуль плагина
plugin_module = importlib.import_module(plugin_module_name)
# Динамически получаем класс плагина
plugin_class = getattr(plugin_module, plugin_class_name, None)
if not plugin_class or not issubclass(plugin_class, BasePMSPlugin):
raise ImportError(f"Класс {plugin_class_name} не найден или не является наследником BasePMSPlugin.")
# Инициализируем плагин
self.plugin = plugin_class(self.hotel)
except ImportError as e:
raise ValueError(f"Ошибка загрузки плагина для PMS {pms_name}: {e}")
>>>>>>> PMSManager_refactor
def fetch_data(self):
"""
Получает данные из PMS с использованием загруженного плагина.