#!/usr/bin/env python # coding: utf-8 """ Searches and installs plugins. """ import os import pkgutil #: Constant to save loaded plugins #: format: {plugin_name:{"server":, "tk":, ...} PLUGINS = {"chat":{}} def load_plugins(): """ Search for plugin packages in this subdirectory and install them """ plugins = {} plugin_dir = os.path.join(os.path.abspath("."), "plugins") for plugin_info in pkgutil.iter_modules([plugin_dir]): plugin_name = plugin_info[1] plugin = __import__("chatwisted.plugins."+plugin_name, None, None, "chatwisted.plugins") if hasattr(plugin, "COMPONENTS"): plugin_name = getattr(plugin, "NAME", plugin_name) plugins[plugin_name] = plugin.COMPONENTS PLUGINS.update(plugins)