shelter plugin done
This commit is contained in:
@@ -53,14 +53,25 @@ class PMSIntegrationManager:
|
|||||||
Загружает плагин, соответствующий PMS конфигурации отеля.
|
Загружает плагин, соответствующий PMS конфигурации отеля.
|
||||||
"""
|
"""
|
||||||
pms_name = self.hotel.pms.plugin_name.lower() # Приводим название плагина к нижнему регистру
|
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)
|
plugin_module_name = f"pms_integration.plugins.{pms_name}_pms"
|
||||||
elif pms_name == "shelter" or pms_name == "shelter":
|
plugin_class_name = f"{pms_name.capitalize()}PMSPlugin"
|
||||||
from pms_integration.plugins.shelter_pms import ShelterPMSPlugin
|
|
||||||
self.plugin = ShelterPMSPlugin(self.hotel)
|
try:
|
||||||
else:
|
# Динамически импортируем модуль плагина
|
||||||
raise ValueError(f"Неизвестный PMS: {pms_name}")
|
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):
|
def fetch_data(self):
|
||||||
"""
|
"""
|
||||||
Получает данные из PMS с использованием загруженного плагина.
|
Получает данные из PMS с использованием загруженного плагина.
|
||||||
|
|||||||
@@ -176,13 +176,13 @@ class BnovoPMSPlugin(BasePMSPlugin):
|
|||||||
"""Получение данных о бронированиях с помощью эндпоинта /dashboard."""
|
"""Получение данных о бронированиях с помощью эндпоинта /dashboard."""
|
||||||
logger.info("Начало процесса получения данных о бронированиях.")
|
logger.info("Начало процесса получения данных о бронированиях.")
|
||||||
|
|
||||||
# # Вызов функции получения данных аккаунта
|
# Вызов функции получения данных аккаунта
|
||||||
# try:
|
try:
|
||||||
# account_data = await self._fetch_and_log_account_data()
|
account_data = await self._fetch_and_log_account_data()
|
||||||
# logger.info(f"Данные аккаунта успешно получены:")
|
logger.info(f"Данные аккаунта успешно получены:")
|
||||||
# except Exception as e:
|
except Exception as e:
|
||||||
# logger.error(f"Ошибка получения данных аккаунта: {e}")
|
logger.error(f"Ошибка получения данных аккаунта: {e}")
|
||||||
# raise
|
raise
|
||||||
|
|
||||||
url = f"{self.api_url}/dashboard"
|
url = f"{self.api_url}/dashboard"
|
||||||
now = datetime.now()
|
now = datetime.now()
|
||||||
|
|||||||
1
temp/shelter/shelter_data_20241228120750.json
Normal file
1
temp/shelter/shelter_data_20241228120750.json
Normal file
File diff suppressed because one or more lines are too long
1
temp/shelter/shelter_data_20241228120811.json
Normal file
1
temp/shelter/shelter_data_20241228120811.json
Normal file
File diff suppressed because one or more lines are too long
1
temp/shelter/shelter_data_20241228121023.json
Normal file
1
temp/shelter/shelter_data_20241228121023.json
Normal file
File diff suppressed because one or more lines are too long
1
temp/shelter/shelter_data_20241228122016.json
Normal file
1
temp/shelter/shelter_data_20241228122016.json
Normal file
File diff suppressed because one or more lines are too long
Reference in New Issue
Block a user