shelter plugin done
This commit is contained in:
@@ -53,14 +53,25 @@ class PMSIntegrationManager:
|
||||
Загружает плагин, соответствующий PMS конфигурации отеля.
|
||||
"""
|
||||
pms_name = self.hotel.pms.plugin_name.lower() # Приводим название плагина к нижнему регистру
|
||||
if pms_name == "ecvi_intermark" or pms_name == "ecvi":
|
||||
from pms_integration.plugins.ecvi_pms import EcviPMSPlugin
|
||||
self.plugin = EcviPMSPlugin(self.hotel)
|
||||
elif pms_name == "shelter" or pms_name == "shelter":
|
||||
from pms_integration.plugins.shelter_pms import ShelterPMSPlugin
|
||||
self.plugin = ShelterPMSPlugin(self.hotel)
|
||||
else:
|
||||
raise ValueError(f"Неизвестный PMS: {pms_name}")
|
||||
|
||||
# Формируем имя модуля и класса плагина
|
||||
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}")
|
||||
def fetch_data(self):
|
||||
"""
|
||||
Получает данные из PMS с использованием загруженного плагина.
|
||||
|
||||
@@ -176,13 +176,13 @@ class BnovoPMSPlugin(BasePMSPlugin):
|
||||
"""Получение данных о бронированиях с помощью эндпоинта /dashboard."""
|
||||
logger.info("Начало процесса получения данных о бронированиях.")
|
||||
|
||||
# # Вызов функции получения данных аккаунта
|
||||
# try:
|
||||
# account_data = await self._fetch_and_log_account_data()
|
||||
# logger.info(f"Данные аккаунта успешно получены:")
|
||||
# except Exception as e:
|
||||
# logger.error(f"Ошибка получения данных аккаунта: {e}")
|
||||
# raise
|
||||
# Вызов функции получения данных аккаунта
|
||||
try:
|
||||
account_data = await self._fetch_and_log_account_data()
|
||||
logger.info(f"Данные аккаунта успешно получены:")
|
||||
except Exception as e:
|
||||
logger.error(f"Ошибка получения данных аккаунта: {e}")
|
||||
raise
|
||||
|
||||
url = f"{self.api_url}/dashboard"
|
||||
now = datetime.now()
|
||||
|
||||
Reference in New Issue
Block a user