Пример #1
0
 def new(xml_state: XMLState,
         target_dir: str,
         root_dir: str,
         custom_args: Dict = None):
     image_type = xml_state.get_build_type_name()
     if image_type in Defaults.get_filesystem_image_types():
         name_token = ('filesystem', 'FileSystemBuilder')
     elif image_type in Defaults.get_disk_image_types():
         name_token = ('disk', 'DiskBuilder')
     elif image_type in Defaults.get_live_image_types():
         name_token = ('live', 'LiveImageBuilder')
     elif image_type in Defaults.get_kis_image_types():
         name_token = ('kis', 'KisBuilder')
     elif image_type in Defaults.get_archive_image_types():
         name_token = ('archive', 'ArchiveBuilder')
     elif image_type in Defaults.get_container_image_types():
         name_token = ('container', 'ContainerBuilder')
     else:
         name_token = ('None', 'None')
     try:
         (builder_namespace, builder_name) = name_token
         builder = importlib.import_module(
             'kiwi.builder.{0}'.format(builder_namespace))
         return builder.__dict__[builder_name](xml_state, target_dir,
                                               root_dir, custom_args)
     except Exception:
         raise KiwiRequestedTypeError(
             f'Requested image type {image_type} not supported')
Пример #2
0
 def __new__(self, xml_state, target_dir, root_dir, custom_args=None):
     requested_image_type = xml_state.get_build_type_name()
     if requested_image_type in Defaults.get_filesystem_image_types():
         return FileSystemBuilder(
             xml_state, target_dir, root_dir
         )
     elif requested_image_type in Defaults.get_disk_image_types():
         return DiskBuilder(
             xml_state, target_dir, root_dir, custom_args
         )
     elif requested_image_type in Defaults.get_live_image_types():
         return LiveImageBuilder(
             xml_state, target_dir, root_dir, custom_args
         )
     elif requested_image_type in Defaults.get_kis_image_types():
         return KisBuilder(
             xml_state, target_dir, root_dir, custom_args
         )
     elif requested_image_type in Defaults.get_archive_image_types():
         return ArchiveBuilder(
             xml_state, target_dir, root_dir, custom_args
         )
     elif requested_image_type in Defaults.get_container_image_types():
         return ContainerBuilder(
             xml_state, target_dir, root_dir, custom_args
         )
     else:
         raise KiwiRequestedTypeError(
             'requested image type %s not supported' % requested_image_type
         )
Пример #3
0
 def __new__(self, xml_state, target_dir, root_dir, custom_args=None):
     requested_image_type = xml_state.get_build_type_name()
     if requested_image_type in Defaults.get_filesystem_image_types():
         return FileSystemBuilder(
             xml_state, target_dir, root_dir
         )
     elif requested_image_type in Defaults.get_disk_image_types():
         return DiskBuilder(
             xml_state, target_dir, root_dir, custom_args
         )
     elif requested_image_type in Defaults.get_live_image_types():
         return LiveImageBuilder(
             xml_state, target_dir, root_dir, custom_args
         )
     elif requested_image_type in Defaults.get_network_image_types():
         return PxeBuilder(
             xml_state, target_dir, root_dir, custom_args
         )
     elif requested_image_type in Defaults.get_archive_image_types():
         return ArchiveBuilder(
             xml_state, target_dir, root_dir, custom_args
         )
     elif requested_image_type in Defaults.get_container_image_types():
         return ContainerBuilder(
             xml_state, target_dir, root_dir, custom_args
         )
     else:
         raise KiwiRequestedTypeError(
             'requested image type %s not supported' % requested_image_type
         )
Пример #4
0
 def new(
         xml_state: object,
         target_dir: str,
         root_dir: str,
         custom_args: Dict = None  # noqa: E252
 ):
     image_type = xml_state.get_build_type_name()
     name_map = {
         'filesystem':
         'FileSystemBuilder'
         if image_type in Defaults.get_filesystem_image_types() else None,
         'disk':
         'DiskBuilder'
         if image_type in Defaults.get_disk_image_types() else None,
         'live':
         'LiveImageBuilder'
         if image_type in Defaults.get_live_image_types() else None,
         'kis':
         'KisBuilder'
         if image_type in Defaults.get_kis_image_types() else None,
         'archive':
         'ArchiveBuilder'
         if image_type in Defaults.get_archive_image_types() else None,
         'container':
         'ContainerBuilder'
         if image_type in Defaults.get_container_image_types() else None
     }
     for builder_namespace, builder_name in list(name_map.items()):
         if builder_name:
             break
     try:
         builder = importlib.import_module(
             'kiwi.builder.{0}'.format(builder_namespace))
         return builder.__dict__[builder_name](xml_state, target_dir,
                                               root_dir, custom_args)
     except Exception as issue:
         raise KiwiRequestedTypeError(
             'Requested image type {0} not supported: {1}'.format(
                 image_type, issue))