Exemple #1
0
def get_argument_parser_extensions():
    """
    Get the available argument parser extensions.

    The extensions are ordered by their priority and entry point name.

    :rtype: OrderedDict
    """
    extensions = instantiate_extensions(__name__)
    for name, extension in extensions.items():
        extension.ARGUMENT_PARSER_DECORATOR_NAME = name
    return order_extensions_by_priority(extensions)
Exemple #2
0
def get_package_discovery_extensions():
    """
    Get the available package discovery extensions.

    The extensions are ordered by their priority and entry point name.

    :rtype: OrderedDict
    """
    extensions = instantiate_extensions(__name__)
    for name, extension in extensions.items():
        extension.PACKAGE_DISCOVERY_NAME = name
    return order_extensions_by_priority(extensions)
Exemple #3
0
def get_package_augmentation_extensions():
    """
    Get the available package augmentation extensions.

    The extensions are ordered by their priority and entry point name.

    :rtype: OrderedDict
    """
    extensions = instantiate_extensions(__name__)
    for name, extension in extensions.items():
        extension.PACKAGE_AUGMENTATION_NAME = name
    return order_extensions_by_priority(extensions)
def get_desktop_notification_extensions():
    """
    Get the available desktop notification extensions.

    The extensions are ordered by their priority and entry point name.

    :rtype: OrderedDict
    """
    extensions = instantiate_extensions(__name__)
    for name, extension in extensions.items():
        extension.DESKTOP_NOTIFICATION_NAME = name
    return order_extensions_by_priority(extensions)
Exemple #5
0
def get_event_handler_extensions(*, context):
    """
    Get the available event handler extensions.

    The extensions are ordered by their priority and entry point name.

    :rtype: OrderedDict
    """
    extensions = instantiate_extensions(__name__)
    for name, extension in extensions.items():
        extension.EVENT_HANDLER_NAME = name
        extension.context = context
    return order_extensions_by_priority(extensions)
Exemple #6
0
def get_environment_extensions():
    """
    Get the available environment extensions.

    The extensions are ordered by their priority and entry point name.

    :rtype: OrderedDict
    """
    extensions = instantiate_extensions(__name__)
    for name in list(extensions.keys()):
        extension = extensions[name]
        extension.ENVIRONMENT_NAME = name
    return order_extensions_by_priority(extensions)
Exemple #7
0
def get_python_testing_step_extensions():
    """
    Get the available Python testing step extensions.

    The extensions are ordered by their priority and entry point name.

    :rtype: OrderedDict
    """
    extensions = instantiate_extensions('colcon_core.python_testing',
                                        unique_instance=False)
    for name in list(extensions.keys()):
        extension = extensions[name]
        extension.STEP_TYPE = name
    return order_extensions_by_priority(extensions)
def get_bundle_installer_extensions():
    """
    Get the bundle installer extensions and verify if they should be loaded.

    The extensions are ordered by their entry point name.

    :rtype: OrderedDict
    """
    extensions = instantiate_extensions(__name__)
    filtered_extensions = {
        name: extension
        for name, extension in extensions.items() if extension.should_load()
    }
    for name, extension in filtered_extensions.items():
        extension.INSTALLER_NAME = name
    return order_extensions_by_priority(extensions)
Exemple #9
0
def test_order_extensions_by_priority():
    with EntryPointContext(foo=ExtensionA, bar=ExtensionB, baz=ExtensionC):
        extensions = instantiate_extensions('group')
    # ensure correct order based on priority
    ordered_extensions = order_extensions_by_priority(extensions)
    assert list(ordered_extensions.keys()) == ['baz', 'bar', 'foo']
Exemple #10
0
def get_argcomplete_completer_extensions(*, exclude_names=None):
    """Get the argcomplete completer extensions in priority order."""
    extensions = instantiate_extensions(__name__, exclude_names=exclude_names)
    for name, extension in extensions.items():
        extension.ARGCOMPLETE_COMPLETER_NAME = name
    return order_extensions_by_priority(extensions)