Source code for pytest_localstack.plugin

"""Plugins manager.

.. seealso:: :mod:`~pytest_localstack.hookspecs`

"""
import importlib

import pluggy

import pytest_localstack.hookspecs

manager = pluggy.PluginManager("pytest-localstack")
manager.add_hookspecs(pytest_localstack.hookspecs)


[docs]def register_plugin_module(module_path, required=True): """Register hooks in a module with the PluginManager by Python path. Args: module_path (str): A Python dotted import path. required (bool, optional): If False, ignore ImportError. Default: True. Returns: The imported module. Raises: ImportError: If `required` is True and the module cannot be imported. """ try: module = importlib.import_module(module_path) except ImportError: if required: raise else: manager.register(module) return module