mergse
This commit is contained in:
@@ -18,7 +18,6 @@ class PluginLoader:
|
||||
print("Загрузка плагинов:")
|
||||
for file in os.listdir(PluginLoader.PLUGIN_PATH):
|
||||
if file.endswith("_pms.py") and not file.startswith("__"):
|
||||
# print(f" Plugin {file}")
|
||||
module_name = f"pms_integration.plugins.{file[:-3]}"
|
||||
try:
|
||||
module = importlib.import_module(module_name)
|
||||
@@ -26,8 +25,8 @@ class PluginLoader:
|
||||
cls = getattr(module, attr)
|
||||
if isinstance(cls, type) and issubclass(cls, BasePMSPlugin) and cls is not BasePMSPlugin:
|
||||
plugin_name = file[:-7] # Убираем `_pms` из имени файла
|
||||
# print(f" Загружен плагин {plugin_name}: {cls.__name__}")
|
||||
plugins[plugin_name] = cls
|
||||
print(f" Загружен плагин {plugin_name}: {cls.__name__}")
|
||||
except Exception as e:
|
||||
print(f" Ошибка загрузки плагина {module_name}: {e}")
|
||||
return plugins
|
||||
@@ -40,6 +39,7 @@ class PMSIntegrationManager:
|
||||
"""
|
||||
self.hotel = hotel
|
||||
self.plugin = None
|
||||
self.plugins = PluginLoader.load_plugins()
|
||||
|
||||
def load_hotel(self):
|
||||
"""
|
||||
@@ -52,12 +52,14 @@ 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)
|
||||
pms_name = self.hotel.pms.plugin_name.lower()
|
||||
if pms_name in self.plugins:
|
||||
plugin_class = self.plugins[pms_name]
|
||||
self.plugin = plugin_class(self.hotel)
|
||||
print(f"Плагин {pms_name} успешно загружен.")
|
||||
else:
|
||||
raise ValueError(f"Неизвестный PMS: {pms_name}")
|
||||
|
||||
def fetch_data(self):
|
||||
"""
|
||||
Получает данные из PMS с использованием загруженного плагина.
|
||||
|
||||
Reference in New Issue
Block a user