def install_plugins(app): """ Installs new issuers that are not currently bundled with Lemur. :param app: :return: """ from lemur.plugins import plugins from lemur.plugins.base import register # entry_points={ # 'lemur.plugins': [ # 'verisign = lemur_verisign.plugin:VerisignPlugin' # ], # }, for ep in pkg_resources.iter_entry_points('lemur.plugins'): try: plugin = ep.load() except Exception: import traceback app.logger.error("Failed to load plugin %r:\n%s\n" % (ep.name, traceback.format_exc())) else: register(plugin) # ensure that we have some way to notify with app.app_context(): try: slug = app.config.get("LEMUR_DEFAULT_NOTIFICATION_PLUGIN", "email-notification") plugins.get(slug) except KeyError: raise Exception("Unable to location notification plugin: {slug}. Ensure that LEMUR_DEFAULT_NOTIFICATION_PLUGIN is set to a valid and installed notification plugin.".format(slug=slug))
def install_plugins(app): """ Installs new issuers that are not currently bundled with Lemur. :param app: :return: """ from lemur.plugins import plugins from lemur.plugins.base import register # entry_points={ # 'lemur.plugins': [ # 'verisign = lemur_verisign.plugin:VerisignPlugin' # ], # }, for ep in pkg_resources.iter_entry_points('lemur.plugins'): try: plugin = ep.load() except Exception: import traceback app.logger.error("Failed to load plugin %r:\n%s\n" % (ep.name, traceback.format_exc())) else: register(plugin) # ensure that we have some way to notify with app.app_context(): try: slug = app.config.get("LEMUR_DEFAULT_NOTIFICATION_PLUGIN", "email-notification") plugins.get(slug) except KeyError: raise Exception( "Unable to location notification plugin: {slug}. Ensure that LEMUR_DEFAULT_NOTIFICATION_PLUGIN is set to a valid and installed notification plugin." .format(slug=slug))
def sync_source_plugin(): from lemur.plugins.base import register, unregister from .plugins.source_plugin import TestSourcePlugin register(TestSourcePlugin) yield TestSourcePlugin unregister(TestSourcePlugin)
def install_plugins(app): """ Installs new issuers that are not currently bundled with Lemur. :param settings: :return: """ from lemur.plugins.base import register # entry_points={ # 'lemur.plugins': [ # 'verisign = lemur_verisign.plugin:VerisignPlugin' # ], # }, for ep in pkg_resources.iter_entry_points('lemur.plugins'): try: plugin = ep.load() except Exception: import traceback app.logger.error("Failed to load plugin %r:\n%s\n" % (ep.name, traceback.format_exc())) else: register(plugin)
def source_plugin(): from lemur.plugins.base import register from .plugins.source_plugin import TestSourcePlugin register(TestSourcePlugin) return TestSourcePlugin
def destination_plugin(): from lemur.plugins.base import register from .plugins.destination_plugin import TestDestinationPlugin register(TestDestinationPlugin) return TestDestinationPlugin
def notification_plugin(): from lemur.plugins.base import register from .plugins.notification_plugin import TestNotificationPlugin register(TestNotificationPlugin) return TestNotificationPlugin
def issuer_plugin(): from lemur.plugins.base import register from .plugins.issuer_plugin import TestIssuerPlugin register(TestIssuerPlugin) return TestIssuerPlugin