Esempio n. 1
0
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()
Esempio n. 2
0
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()
Esempio n. 3
0
def register_items(item_list):
    for item_class in item_list:
        if not registry.have_registered_items(item_class):
            registry.register(item_class)
Esempio n. 4
0
def register_items(item_list):
    for item_class in item_list:
        if not registry.have_registered_items(item_class):
            registry.register(item_class)