def register_all_plugins(verbose=False): from merengue.pluggable.models import RegisteredPlugin from merengue.pluggable.utils import (get_plugin_directories, get_plugin_config, reload_models_cache, remove_from_installed_apps, clear_plugin_module_cache, get_plugin_module_name) from merengue.pluggable.checker import mark_broken_plugin try: for plugin_dir in get_plugin_directories(): try: if verbose: plugin_config = get_plugin_config(plugin_dir) if plugin_config: if not have_registered_items(plugin_config): print 'Registering new plugin %s...' % plugin_dir else: print 'Re-registering plugin %s...' % plugin_dir else: print 'Error walking to plugin %s.' % plugin_dir register_plugin(plugin_dir) except: mark_broken_plugin(plugin_dir) print 'Error registering %s plugin... go to next plugin.' % plugin_dir finally: for plugin in RegisteredPlugin.objects.inactives(): clear_plugin_module_cache(get_plugin_module_name(plugin.directory_name)) remove_from_installed_apps(plugin.directory_name) reload_models_cache()
def register_all_plugins(verbose=False): from merengue.pluggable.models import RegisteredPlugin from merengue.pluggable.utils import (get_plugin_directories, get_plugin_config, reload_models_cache, remove_from_installed_apps, clear_plugin_module_cache, get_plugin_module_name) from merengue.pluggable.checker import mark_broken_plugin try: for plugin_dir in get_plugin_directories(): try: if verbose: plugin_config = get_plugin_config(plugin_dir) if plugin_config: if not have_registered_items(plugin_config): print 'Registering new plugin %s...' % plugin_dir else: print 'Re-registering plugin %s...' % plugin_dir else: print 'Error walking to plugin %s.' % plugin_dir register_plugin(plugin_dir) except: mark_broken_plugin(plugin_dir) print 'Error registering %s plugin... go to next plugin.' % plugin_dir finally: for plugin in RegisteredPlugin.objects.inactives(): clear_plugin_module_cache( get_plugin_module_name(plugin.directory_name)) remove_from_installed_apps(plugin.directory_name) reload_models_cache()
def register_items(item_list): for item_class in item_list: if not registry.have_registered_items(item_class): registry.register(item_class)