ECVI fully functional
This commit is contained in:
@@ -8,26 +8,25 @@ class BasePMSPlugin(ABC):
|
||||
- Предоставлять дефолтные parser_settings
|
||||
- Проходить базовую валидацию (validate_plugin)
|
||||
"""
|
||||
|
||||
|
||||
def __init__(self, pms_config):
|
||||
"""
|
||||
pms_config: объект PMSConfiguration
|
||||
"""
|
||||
self.pms_config = pms_config
|
||||
|
||||
|
||||
@abstractmethod
|
||||
def _fetch_data(self):
|
||||
async def _fetch_data(self):
|
||||
"""
|
||||
Абстрактный метод для получения данных.
|
||||
"""
|
||||
pass
|
||||
|
||||
def fetch_data(self):
|
||||
async def fetch_data(self):
|
||||
"""
|
||||
Обертка для выполнения _fetch_data с возможной дополнительной обработкой.
|
||||
"""
|
||||
return self._fetch_data()
|
||||
return await self._fetch_data()
|
||||
|
||||
@abstractmethod
|
||||
def get_default_parser_settings(self):
|
||||
@@ -45,7 +44,6 @@ class BasePMSPlugin(ABC):
|
||||
}
|
||||
}
|
||||
"""
|
||||
print("get_default_parser_settings. pms_config:", self.pms_config)
|
||||
return {}
|
||||
|
||||
def validate_plugin(self):
|
||||
@@ -53,10 +51,8 @@ class BasePMSPlugin(ABC):
|
||||
Проверка на соответствие требованиям.
|
||||
Можно проверить наличие методов или полей.
|
||||
"""
|
||||
# Например, проверить наличие fetch_data и get_default_parser_settings
|
||||
required_methods = ["fetch_data", "get_default_parser_settings"]
|
||||
for m in required_methods:
|
||||
if not hasattr(self, m):
|
||||
raise ValueError(f"Плагин {type(self).__name__} не реализует метод {m}.")
|
||||
# Можно добавить дополнительные проверки
|
||||
required_methods = ["fetch_data", "get_default_parser_settings", "_fetch_data"]
|
||||
for method in required_methods:
|
||||
if not hasattr(self, method):
|
||||
raise ValueError(f"Плагин {type(self).__name__} не реализует метод {method}.")
|
||||
return True
|
||||
|
||||
Reference in New Issue
Block a user