31 lines
1.2 KiB
Python
31 lines
1.2 KiB
Python
""" модуль взаимодействия и регистрации плагинов """
|
|
|
|
from httpx import AsyncHTTPTransport
|
|
from .base import BaseSourceProvider, BaseFilterProvider, BaseOutputProvider
|
|
from . import sources
|
|
from . import filters
|
|
from . import outputs
|
|
|
|
|
|
def unused():
|
|
"""Чтобы убрать предупреждение о неиспользуемых импортах"""
|
|
return sources, filters, outputs
|
|
|
|
|
|
def use_plugins(config: dict, ipv4t: AsyncHTTPTransport, ipv6t: AsyncHTTPTransport):
|
|
"""Регистрация всех плагинов указаных в конфигурации"""
|
|
for source_name in config.get("sources", []):
|
|
BaseSourceProvider.register_provider(
|
|
source_name, config["sources"][source_name], ipv4t, ipv6t
|
|
)
|
|
|
|
for filter_name in config.get("filters", []):
|
|
BaseFilterProvider.register_provider(
|
|
filter_name, config["filters"][filter_name], ipv4t, ipv6t
|
|
)
|
|
|
|
for output_name in config.get("outputs", []):
|
|
BaseOutputProvider.register_provider(
|
|
output_name, config["outputs"][output_name], ipv4t, ipv6t
|
|
)
|