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)
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)
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)
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)
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)
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)
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']
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)