Port the plugins to the new API

This commit is contained in:
Fabio Erculiani
2013-03-24 14:53:05 +00:00
parent 89ada66b00
commit 934e29b076
20 changed files with 325 additions and 323 deletions
+53 -53
View File
@@ -688,7 +688,7 @@ class IsoHandler(GenericExecutionStep, BuiltinHandlerMixin):
class LivecdSpec(GenericSpec):
PLUGIN_API_VERSION = 0
PLUGIN_API_VERSION = 1
@staticmethod
def execution_strategy():
@@ -702,110 +702,110 @@ class LivecdSpec(GenericSpec):
"destination_livecd_root",
]
def parser_data_path(self):
def parameters(self):
return {
'execution_strategy': {
'cb': self.ne_string,
've': self.ve_string_stripper,
'verifier': lambda x: len(x) != 0,
'parser': lambda x: x.strip(),
},
'prechroot': {
'cb': self.valid_exec_first_list_item,
've': self.ve_command_splitter,
'verifier': self._verify_command_arguments,
'parser': self._command_splitter,
},
'release_string': {
'cb': self.ne_string, # validation callback
've': self.ve_string_stripper, # value extractor
'verifier': lambda x: len(x) != 0, # validation callback
'parser': lambda x: x.strip(), # value extractor
},
'release_version': {
'cb': self.ne_string,
've': self.ve_string_stripper,
'verifier': lambda x: len(x) != 0,
'parser': lambda x: x.strip(),
},
'release_desc': {
'cb': self.ne_string,
've': self.ve_string_stripper,
'verifier': lambda x: len(x) != 0,
'parser': lambda x: x.strip(),
},
'release_file': {
'cb': self.ne_string,
've': self.ve_string_stripper,
'verifier': lambda x: len(x) != 0,
'parser': lambda x: x.strip(),
},
'source_chroot': {
'cb': self.valid_dir,
've': self.ve_string_stripper,
'verifier': os.path.isdir,
'parser': lambda x: x.strip(),
},
'destination_chroot': {
'cb': self.valid_path_string,
've': self.ve_string_stripper,
'verifier': lambda x: "\0" not in x,
'parser': lambda x: x.strip(),
},
'extra_rsync_parameters': {
'cb': self.always_valid,
've': self.ve_command_splitter,
'verifier': lambda x: True,
'parser': self._command_splitter,
},
'merge_destination_chroot': {
'cb': self.valid_dir,
've': self.ve_string_stripper,
'verifier': os.path.isdir,
'parser': lambda x: x.strip(),
},
'error_script': {
'cb': self.valid_exec_first_list_item,
've': self.ve_command_splitter,
'verifier': self._verify_executable_arguments,
'parser': self._command_splitter,
},
'outer_chroot_script': {
'cb': self.valid_exec_first_list_item,
've': self.ve_command_splitter,
'verifier': self._verify_executable_arguments,
'parser': self._command_splitter,
},
'inner_source_chroot_script': {
'cb': self.valid_path_string_first_list_item,
've': self.ve_command_splitter,
'verifier': self._verify_executable_arguments,
'parser': self._command_splitter,
},
'inner_chroot_script': {
'cb': self.valid_path_string_first_list_item,
've': self.ve_command_splitter,
'verifier': self._verify_executable_arguments,
'parser': self._command_splitter,
},
'outer_chroot_script_after': {
'cb': self.valid_exec_first_list_item,
've': self.ve_command_splitter,
'verifier': self._verify_executable_arguments,
'parser': self._command_splitter,
},
'destination_livecd_root': {
'cb': self.valid_path_string,
've': self.ve_string_stripper,
'verifier': lambda x: "\0" not in x,
'parser': lambda x: x.strip(),
},
'merge_livecd_root': {
'cb': self.valid_dir,
've': self.ve_string_stripper,
'verifier': os.path.isdir,
'parser': lambda x: x.strip(),
},
'extra_mksquashfs_parameters': {
'cb': self.always_valid,
've': self.ve_command_splitter,
'verifier': lambda x: True,
'parser': self._command_splitter,
},
'extra_mkisofs_parameters': {
'cb': self.always_valid,
've': self.ve_command_splitter,
'verifier': lambda x: True,
'parser': self._command_splitter,
},
'pre_iso_script': {
'cb': self.valid_exec_first_list_item,
've': self.ve_command_splitter,
'verifier': self._verify_executable_arguments,
'parser': self._command_splitter,
},
'post_iso_script': {
'cb': self.valid_exec_first_list_item,
've': self.ve_command_splitter,
'verifier': self._verify_executable_arguments,
'parser': self._command_splitter,
},
'destination_iso_directory': {
'cb': self.valid_dir,
've': self.ve_string_stripper,
'verifier': os.path.isdir,
'parser': lambda x: x.strip(),
},
'destination_iso_image_name': {
'cb': self.valid_ascii,
've': self.ve_string_stripper,
'verifier': lambda x: len(x) != 0,
'parser': lambda x: x.strip(),
},
'paths_to_remove': {
'cb': self.ne_list,
've': self.valid_path_list,
'verifier': lambda x: len(x) != 0,
'parser': self._comma_separate_path,
},
'paths_to_empty': {
'cb': self.ne_list,
've': self.valid_path_list,
'verifier': lambda x: len(x) != 0,
'parser': self._comma_separate_path,
},
}
def get_execution_steps(self):
def execution_steps(self):
return [MirrorHandler, ChrootHandler, CdrootHandler, IsoHandler]
+69 -69
View File
@@ -533,7 +533,7 @@ class FinalImageHandler(GenericExecutionStep, BuiltinHandlerMixin):
class IsoToImageSpec(GenericSpec):
PLUGIN_API_VERSION = 0
PLUGIN_API_VERSION = 1
@staticmethod
def execution_strategy():
@@ -546,142 +546,142 @@ class IsoToImageSpec(GenericSpec):
"image_mb",
]
def parser_data_path(self):
def parameters(self):
return {
'execution_strategy': {
'cb': self.ne_string,
've': self.ve_string_stripper,
'verifier': lambda x: len(x) != 0,
'parser': lambda x: x.strip(),
},
'prechroot': {
'cb': self.valid_exec_first_list_item,
've': self.ve_command_splitter,
'verifier': self._verify_command_arguments,
'parser': self._command_splitter,
},
'release_string': {
'cb': self.ne_string, # validation callback
've': self.ve_string_stripper, # value extractor
'verifier': lambda x: len(x) != 0, # validation callback
'parser': lambda x: x.strip(), # value extractor
},
'release_version': {
'cb': self.ne_string,
've': self.ve_string_stripper,
'verifier': lambda x: len(x) != 0,
'parser': lambda x: x.strip(),
},
'release_desc': {
'cb': self.ne_string,
've': self.ve_string_stripper,
'verifier': lambda x: len(x) != 0,
'parser': lambda x: x.strip(),
},
'release_file': {
'cb': self.ne_string,
've': self.ve_string_stripper,
'verifier': lambda x: len(x) != 0,
'parser': lambda x: x.strip(),
},
'source_iso': {
'cb': self.valid_path_string,
've': self.ve_string_stripper,
'verifier': lambda x: "\0" not in x,
'parser': lambda x: x.strip(),
},
'image_name': {
'cb': self.ne_string,
've': self.ve_string_stripper,
'verifier': lambda x: len(x) != 0,
'parser': lambda x: x.strip(),
},
'image_formatter': {
'cb': self.ne_list,
've': self.ve_command_splitter,
'verifier': lambda x: len(x) != 0,
'parser': self._command_splitter,
},
'image_mounter': {
'cb': self.ne_list,
've': self.ve_command_splitter,
'verifier': lambda x: len(x) != 0,
'parser': self._command_splitter,
},
'image_umounter': {
'cb': self.ne_list,
've': self.ve_command_splitter,
'verifier': lambda x: len(x) != 0,
'parser': self._command_splitter,
},
'image_mb': {
'cb': self.valid_integer,
've': self.ve_integer_converter,
'verifier': lambda x: x is not None,
'parser': self._cast_integer,
},
'image_randomize': {
'cb': self.valid_ascii,
've': self.ve_string_stripper,
'verifier': lambda x: len(x) != 0,
'parser': lambda x: x.strip(),
},
'error_script': {
'cb': self.valid_exec_first_list_item,
've': self.ve_command_splitter,
'verifier': self._verify_executable_arguments,
'parser': self._command_splitter,
},
'outer_chroot_script': {
'cb': self.valid_exec_first_list_item,
've': self.ve_command_splitter,
'verifier': self._verify_executable_arguments,
'parser': self._command_splitter,
},
'inner_chroot_script': {
'cb': self.valid_path_string_first_list_item,
've': self.ve_command_splitter,
'verifier': self._verify_executable_arguments,
'parser': self._command_splitter,
},
'inner_chroot_script_after': {
'cb': self.valid_path_string_first_list_item,
've': self.ve_command_splitter,
'verifier': self._verify_executable_arguments,
'parser': self._command_splitter,
},
'outer_chroot_script_after': {
'cb': self.valid_exec_first_list_item,
've': self.ve_command_splitter,
'verifier': self._verify_executable_arguments,
'parser': self._command_splitter,
},
'destination_image_directory': {
'cb': self.valid_dir,
've': self.ve_string_stripper,
'verifier': os.path.isdir,
'parser': lambda x: x.strip(),
},
'pre_image_script': {
'cb': self.valid_exec_first_list_item,
've': self.ve_command_splitter,
'verifier': self._verify_executable_arguments,
'parser': self._command_splitter,
},
'post_image_script': {
'cb': self.valid_exec_first_list_item,
've': self.ve_command_splitter,
'verifier': self._verify_executable_arguments,
'parser': self._command_splitter,
},
'iso_mounter': {
'cb': self.ne_list,
've': self.ve_command_splitter,
'verifier': lambda x: len(x) != 0,
'parser': self._command_splitter,
},
'iso_umounter': {
'cb': self.ne_list,
've': self.ve_command_splitter,
'verifier': lambda x: len(x) != 0,
'parser': self._command_splitter,
},
'squash_mounter': {
'cb': self.ne_list,
've': self.ve_command_splitter,
'verifier': lambda x: len(x) != 0,
'parser': self._command_splitter,
},
'squash_umounter': {
'cb': self.ne_list,
've': self.ve_command_splitter,
'verifier': lambda x: len(x) != 0,
'parser': self._command_splitter,
},
'custom_packages_remove_cmd': {
'cb': self.valid_ascii,
've': self.ve_string_stripper,
'verifier': lambda x: len(x) != 0,
'parser': lambda x: x.strip(),
},
'custom_packages_add_cmd': {
'cb': self.valid_ascii,
've': self.ve_string_stripper,
'verifier': lambda x: len(x) != 0,
'parser': lambda x: x.strip(),
},
'packages_to_remove': {
'cb': self.ne_list,
've': self.valid_comma_sep_list,
'verifier': lambda x: len(x) != 0,
'parser': self._comma_separate,
},
'packages_to_add': {
'cb': self.ne_list,
've': self.valid_comma_sep_list,
'verifier': lambda x: len(x) != 0,
'parser': self._comma_separate,
},
'repositories_update_cmd': {
'cb': self.ne_list,
've': self.ve_command_splitter,
'verifier': lambda x: len(x) != 0,
'parser': self._command_splitter,
},
'execute_repositories_update': {
'cb': self.valid_ascii,
've': self.ve_string_stripper,
'verifier': lambda x: len(x) != 0,
'parser': lambda x: x.strip(),
},
'paths_to_remove': {
'cb': self.ne_list,
've': self.valid_path_list,
'verifier': lambda x: len(x) != 0,
'parser': self._comma_separate_path,
},
'paths_to_empty': {
'cb': self.ne_list,
've': self.valid_path_list,
'verifier': lambda x: len(x) != 0,
'parser': self._comma_separate_path,
},
}
def get_execution_steps(self):
def execution_steps(self):
return [ImageHandler, ImageIsoUnpackHandler, ImageChrootHandler,
FinalImageHandler]
+47 -47
View File
@@ -377,7 +377,7 @@ class FinalImageHandler(GenericExecutionStep, BuiltinHandlerMixin):
class ChrootToMmcImageSpec(GenericSpec):
PLUGIN_API_VERSION = 0
PLUGIN_API_VERSION = 1
@staticmethod
def execution_strategy():
@@ -397,97 +397,97 @@ class ChrootToMmcImageSpec(GenericSpec):
"image_name",
]
def parser_data_path(self):
def parameters(self):
return {
'execution_strategy': {
'cb': self.ne_string,
've': self.ve_string_stripper,
'verifier': lambda x: len(x) != 0,
'parser': lambda x: x.strip(),
},
'prechroot': {
'cb': self.valid_exec_first_list_item,
've': self.ve_command_splitter,
'verifier': self._verify_command_arguments,
'parser': self._command_splitter,
},
'outer_source_chroot_script': {
'cb': self.valid_exec_first_list_item,
've': self.ve_command_splitter,
'verifier': self._verify_executable_arguments,
'parser': self._command_splitter,
},
'inner_source_chroot_script': {
'cb': self.valid_path_string_first_list_item,
've': self.ve_command_splitter,
'verifier': self._verify_executable_arguments,
'parser': self._command_splitter,
},
'outer_source_chroot_script_after': {
'cb': self.valid_exec_first_list_item,
've': self.ve_command_splitter,
'verifier': self._verify_executable_arguments,
'parser': self._command_splitter,
},
'release_string': {
'cb': self.ne_string, # validation callback
've': self.ve_string_stripper, # value extractor
'verifier': lambda x: len(x) != 0, # validation callback
'parser': lambda x: x.strip(), # value extractor
},
'release_version': {
'cb': self.ne_string,
've': self.ve_string_stripper,
'verifier': lambda x: len(x) != 0,
'parser': lambda x: x.strip(),
},
'release_desc': {
'cb': self.ne_string,
've': self.ve_string_stripper,
'verifier': lambda x: len(x) != 0,
'parser': lambda x: x.strip(),
},
'release_file': {
'cb': self.ne_string,
've': self.ve_string_stripper,
'verifier': lambda x: len(x) != 0,
'parser': lambda x: x.strip(),
},
'source_chroot': {
'cb': self.valid_dir,
've': self.ve_string_stripper,
'verifier': os.path.isdir,
'parser': lambda x: x.strip(),
},
'image_name': {
'cb': self.ne_string,
've': self.ve_string_stripper,
'verifier': lambda x: len(x) != 0,
'parser': lambda x: x.strip(),
},
'image_mb': {
'cb': self.valid_integer,
've': self.ve_integer_converter,
'verifier': lambda x: x is not None,
'parser': self._cast_integer,
},
'image_generator_script': {
'cb': self.valid_exec_first_list_item,
've': self.ve_command_splitter,
'verifier': self._verify_executable_arguments,
'parser': self._command_splitter,
},
'error_script': {
'cb': self.valid_exec_first_list_item,
've': self.ve_command_splitter,
'verifier': self._verify_executable_arguments,
'parser': self._command_splitter,
},
'destination_image_directory': {
'cb': self.valid_dir,
've': self.ve_string_stripper,
'verifier': os.path.isdir,
'parser': lambda x: x.strip(),
},
'source_boot_directory': {
'cb': self.valid_dir,
've': self.ve_string_stripper,
'verifier': os.path.isdir,
'parser': lambda x: x.strip(),
},
'pre_image_script': {
'cb': self.valid_exec_first_list_item,
've': self.ve_command_splitter,
'verifier': self._verify_executable_arguments,
'parser': self._command_splitter,
},
'post_image_script': {
'cb': self.valid_exec_first_list_item,
've': self.ve_command_splitter,
'verifier': self._verify_executable_arguments,
'parser': self._command_splitter,
},
'packages_to_remove': {
'cb': self.ne_list,
've': self.valid_comma_sep_list,
'verifier': lambda x: len(x) != 0,
'parser': self._comma_separate,
},
'packages_to_add': {
'cb': self.ne_list,
've': self.valid_comma_sep_list,
'verifier': lambda x: len(x) != 0,
'parser': self._comma_separate,
},
'paths_to_remove': {
'cb': self.ne_list,
've': self.valid_path_list,
'verifier': lambda x: len(x) != 0,
'parser': self._comma_separate_path,
},
'paths_to_empty': {
'cb': self.ne_list,
've': self.valid_path_list,
'verifier': lambda x: len(x) != 0,
'parser': self._comma_separate_path,
},
}
def get_execution_steps(self):
def execution_steps(self):
return [ChrootHandler, ImageHandler, FinalImageHandler]
+67 -67
View File
@@ -376,7 +376,7 @@ class IsoHandler(BuiltinIsoHandler):
class RemasterSpec(GenericSpec):
PLUGIN_API_VERSION = 0
PLUGIN_API_VERSION = 1
@staticmethod
def execution_strategy():
@@ -388,137 +388,137 @@ class RemasterSpec(GenericSpec):
"destination_iso_directory",
]
def parser_data_path(self):
def parameters(self):
return {
'execution_strategy': {
'cb': self.ne_string,
've': self.ve_string_stripper,
'verifier': lambda x: len(x) != 0,
'parser': lambda x: x.strip(),
},
'prechroot': {
'cb': self.valid_exec_first_list_item,
've': self.ve_command_splitter,
'verifier': self._verify_command_arguments,
'parser': self._command_splitter,
},
'release_string': {
'cb': self.ne_string, # validation callback
've': self.ve_string_stripper, # value extractor
'verifier': lambda x: len(x) != 0, # validation callback
'parser': lambda x: x.strip(), # value extractor
},
'release_version': {
'cb': self.ne_string,
've': self.ve_string_stripper,
'verifier': lambda x: len(x) != 0,
'parser': lambda x: x.strip(),
},
'release_desc': {
'cb': self.ne_string,
've': self.ve_string_stripper,
'verifier': lambda x: len(x) != 0,
'parser': lambda x: x.strip(),
},
'release_file': {
'cb': self.ne_string,
've': self.ve_string_stripper,
'verifier': lambda x: len(x) != 0,
'parser': lambda x: x.strip(),
},
'source_iso': {
'cb': self.valid_path_string,
've': self.ve_string_stripper,
'verifier': lambda x: "\0" not in x,
'parser': lambda x: x.strip(),
},
'iso_title': {
'cb': self.ne_string,
've': self.ve_string_stripper,
'verifier': lambda x: len(x) != 0,
'parser': lambda x: x.strip(),
},
'error_script': {
'cb': self.valid_exec_first_list_item,
've': self.ve_command_splitter,
'verifier': self._verify_executable_arguments,
'parser': self._command_splitter,
},
'outer_chroot_script': {
'cb': self.valid_exec_first_list_item,
've': self.ve_command_splitter,
'verifier': self._verify_executable_arguments,
'parser': self._command_splitter,
},
'inner_chroot_script': {
'cb': self.valid_path_string_first_list_item,
've': self.ve_command_splitter,
'verifier': self._verify_executable_arguments,
'parser': self._command_splitter,
},
'inner_chroot_script_after': {
'cb': self.valid_path_string_first_list_item,
've': self.ve_command_splitter,
'verifier': self._verify_executable_arguments,
'parser': self._command_splitter,
},
'outer_chroot_script_after': {
'cb': self.valid_exec_first_list_item,
've': self.ve_command_splitter,
'verifier': self._verify_executable_arguments,
'parser': self._command_splitter,
},
'extra_mksquashfs_parameters': {
'cb': self.always_valid,
've': self.ve_command_splitter,
'verifier': lambda x: True,
'parser': self._command_splitter,
},
'extra_mkisofs_parameters': {
'cb': self.always_valid,
've': self.ve_command_splitter,
'verifier': lambda x: True,
'parser': self._command_splitter,
},
'pre_iso_script': {
'cb': self.valid_exec_first_list_item,
've': self.ve_command_splitter,
'verifier': self._verify_executable_arguments,
'parser': self._command_splitter,
},
'post_iso_script': {
'cb': self.valid_exec_first_list_item,
've': self.ve_command_splitter,
'verifier': self._verify_executable_arguments,
'parser': self._command_splitter,
},
'destination_iso_directory': {
'cb': self.valid_dir,
've': self.ve_string_stripper,
'verifier': os.path.isdir,
'parser': lambda x: x.strip(),
},
'destination_iso_image_name': {
'cb': self.valid_ascii,
've': self.ve_string_stripper,
'verifier': lambda x: len(x) != 0,
'parser': lambda x: x.strip(),
},
'iso_mounter': {
'cb': self.ne_list,
've': self.ve_command_splitter,
'verifier': lambda x: len(x) != 0,
'parser': self._command_splitter,
},
'iso_umounter': {
'cb': self.ne_list,
've': self.ve_command_splitter,
'verifier': lambda x: len(x) != 0,
'parser': self._command_splitter,
},
'squash_mounter': {
'cb': self.ne_list,
've': self.ve_command_splitter,
'verifier': lambda x: len(x) != 0,
'parser': self._command_splitter,
},
'squash_umounter': {
'cb': self.ne_list,
've': self.ve_command_splitter,
'verifier': lambda x: len(x) != 0,
'parser': self._command_splitter,
},
'merge_livecd_root': {
'cb': self.valid_dir,
've': self.ve_string_stripper,
'verifier': os.path.isdir,
'parser': lambda x: x.strip(),
},
'custom_packages_remove_cmd': {
'cb': self.ne_list,
've': self.ve_command_splitter,
'verifier': lambda x: len(x) != 0,
'parser': self._command_splitter,
},
'custom_packages_add_cmd': {
'cb': self.ne_list,
've': self.ve_command_splitter,
'verifier': lambda x: len(x) != 0,
'parser': self._command_splitter,
},
'packages_to_remove': {
'cb': self.ne_list,
've': self.valid_comma_sep_list,
'verifier': lambda x: len(x) != 0,
'parser': self._comma_separate,
},
'packages_to_add': {
'cb': self.ne_list,
've': self.valid_comma_sep_list,
'verifier': lambda x: len(x) != 0,
'parser': self._comma_separate,
},
'repositories_update_cmd': {
'cb': self.ne_list,
've': self.ve_command_splitter,
'verifier': lambda x: len(x) != 0,
'parser': self._command_splitter,
},
'execute_repositories_update': {
'cb': self.valid_ascii,
've': self.ve_string_stripper,
'verifier': lambda x: len(x) != 0,
'parser': lambda x: x.strip(),
},
'paths_to_remove': {
'cb': self.ne_list,
've': self.valid_path_list,
'verifier': lambda x: len(x) != 0,
'parser': self._comma_separate_path,
},
'paths_to_empty': {
'cb': self.ne_list,
've': self.valid_path_list,
'verifier': lambda x: len(x) != 0,
'parser': self._comma_separate_path,
},
}
def get_execution_steps(self):
def execution_steps(self):
return [IsoUnpackHandler, ChrootHandler, CdrootHandler, IsoHandler]
+61 -61
View File
@@ -169,7 +169,7 @@ class TarHandler(GenericExecutionStep, BuiltinHandlerMixin):
class IsoToTarSpec(GenericSpec):
PLUGIN_API_VERSION = 0
PLUGIN_API_VERSION = 1
@staticmethod
def execution_strategy():
@@ -184,125 +184,125 @@ class IsoToTarSpec(GenericSpec):
"destination_tar_directory",
]
def parser_data_path(self):
def parameters(self):
return {
'execution_strategy': {
'cb': self.ne_string,
've': self.ve_string_stripper,
'verifier': lambda x: len(x) != 0,
'parser': lambda x: x.strip(),
},
'prechroot': {
'cb': self.valid_exec_first_list_item,
've': self.ve_command_splitter,
'verifier': self._verify_command_arguments,
'parser': self._command_splitter,
},
'release_string': {
'cb': self.ne_string, # validation callback
've': self.ve_string_stripper, # value extractor
'verifier': lambda x: len(x) != 0, # validation callback
'parser': lambda x: x.strip(), # value extractor
},
'release_version': {
'cb': self.ne_string,
've': self.ve_string_stripper,
'verifier': lambda x: len(x) != 0,
'parser': lambda x: x.strip(),
},
'release_desc': {
'cb': self.ne_string,
've': self.ve_string_stripper,
'verifier': lambda x: len(x) != 0,
'parser': lambda x: x.strip(),
},
'release_file': {
'cb': self.ne_string,
've': self.ve_string_stripper,
'verifier': lambda x: len(x) != 0,
'parser': lambda x: x.strip(),
},
'source_iso': {
'cb': self.valid_path_string,
've': self.ve_string_stripper,
'verifier': lambda x: "\0" not in x,
'parser': lambda x: x.strip(),
},
'tar_name': {
'cb': self.ne_string,
've': self.ve_string_stripper,
'verifier': lambda x: len(x) != 0,
'parser': lambda x: x.strip(),
},
'compression_method': {
'cb': self.supported_compression_method,
've': self.ve_string_stripper,
'verifier': self.supported_compression_method,
'parser': lambda x: x.strip(),
},
'error_script': {
'cb': self.valid_exec_first_list_item,
've': self.ve_command_splitter,
'verifier': self._verify_executable_arguments,
'parser': self._command_splitter,
},
'outer_chroot_script': {
'cb': self.valid_exec_first_list_item,
've': self.ve_command_splitter,
'verifier': self._verify_executable_arguments,
'parser': self._command_splitter,
},
'inner_chroot_script': {
'cb': self.valid_path_string_first_list_item,
've': self.ve_command_splitter,
'verifier': self._verify_executable_arguments,
'parser': self._command_splitter,
},
'inner_chroot_script_after': {
'cb': self.valid_path_string_first_list_item,
've': self.ve_command_splitter,
'verifier': self._verify_executable_arguments,
'parser': self._command_splitter,
},
'outer_chroot_script_after': {
'cb': self.valid_exec_first_list_item,
've': self.ve_command_splitter,
'verifier': self._verify_executable_arguments,
'parser': self._command_splitter,
},
'destination_tar_directory': {
'cb': self.valid_dir,
've': self.ve_string_stripper,
'verifier': os.path.isdir,
'parser': lambda x: x.strip(),
},
'pre_tar_script': {
'cb': self.valid_exec_first_list_item,
've': self.ve_command_splitter,
'verifier': self._verify_executable_arguments,
'parser': self._command_splitter,
},
'post_tar_script': {
'cb': self.valid_exec_first_list_item,
've': self.ve_command_splitter,
'verifier': self._verify_executable_arguments,
'parser': self._command_splitter,
},
'iso_mounter': {
'cb': self.ne_list,
've': self.ve_command_splitter,
'verifier': lambda x: len(x) != 0,
'parser': self._command_splitter,
},
'iso_umounter': {
'cb': self.ne_list,
've': self.ve_command_splitter,
'verifier': lambda x: len(x) != 0,
'parser': self._command_splitter,
},
'squash_mounter': {
'cb': self.ne_list,
've': self.ve_command_splitter,
'verifier': lambda x: len(x) != 0,
'parser': self._command_splitter,
},
'squash_umounter': {
'cb': self.ne_list,
've': self.ve_command_splitter,
'verifier': lambda x: len(x) != 0,
'parser': self._command_splitter,
},
'custom_packages_remove_cmd': {
'cb': self.valid_ascii,
've': self.ve_string_stripper,
'verifier': lambda x: len(x) != 0,
'parser': lambda x: x.strip(),
},
'custom_packages_add_cmd': {
'cb': self.valid_ascii,
've': self.ve_string_stripper,
'verifier': lambda x: len(x) != 0,
'parser': lambda x: x.strip(),
},
'packages_to_remove': {
'cb': self.ne_list,
've': self.valid_comma_sep_list,
'verifier': lambda x: len(x) != 0,
'parser': self._comma_separate,
},
'packages_to_add': {
'cb': self.ne_list,
've': self.valid_comma_sep_list,
'verifier': lambda x: len(x) != 0,
'parser': self._comma_separate,
},
'repositories_update_cmd': {
'cb': self.ne_list,
've': self.ve_command_splitter,
'verifier': lambda x: len(x) != 0,
'parser': self._command_splitter,
},
'execute_repositories_update': {
'cb': self.valid_ascii,
've': self.ve_string_stripper,
'verifier': lambda x: len(x) != 0,
'parser': lambda x: x.strip(),
},
'paths_to_remove': {
'cb': self.ne_list,
've': self.valid_path_list,
'verifier': lambda x: len(x) != 0,
'parser': self._comma_separate_path,
},
'paths_to_empty': {
'cb': self.ne_list,
've': self.valid_path_list,
'verifier': lambda x: len(x) != 0,
'parser': self._comma_separate_path,
},
}
def get_execution_steps(self):
def execution_steps(self):
return [IsoUnpackHandler, ChrootHandler, TarHandler]