import pkg_resources from MoinMoin import wikiutil from MoinMoin.config import multiconfig class SetuptoolsPluginLoader(multiconfig.DefaultConfig): _plugin_types = [ "action", "converter", "events", "filter", "formatter", "macro", "parser", "theme", "userprefs", "xmlrpc"] def __init__(self, siteid): super(SetuptoolsPluginLoader, self).__init__(siteid) for kind in self._plugin_types: wikiutil.wikiPlugins(kind, self) self._load_setuptools_plugins(kind) def _load_setuptools_plugins(self, kind): entry_key = "moin.plugins.{}".format(kind) for point in pkg_resources.iter_entry_points(entry_key): point.load() trimmed_name = ".".join(point.module_name.split(".")[:-1]) self._site_plugin_lists[kind][point.name] = trimmed_name