def _init_attributes(self, operations): self._enable_disable_operations(operations) self.should_stop = False self._exported_layers = [] self._current_layer_elem = None self._output_directory = self.export_settings['output_directory'].value self._default_file_extension = self.export_settings['file_extension'].value self._include_item_path = self.export_settings['layer_groups_as_folders'].value self._image_copy = None self._layer_data = pgitemdata.LayerData(self.image, is_filtered=True) self._tagged_layer_elems = collections.defaultdict(list) self._tagged_layer_copies = collections.defaultdict(lambda: None) self.progress_updater.reset() self._file_extension_properties = self._prefill_file_extension_properties() self._default_file_extension = self._default_file_extension.lstrip(".").lower() self._current_file_extension = self._default_file_extension self._file_export_func = pgfileformats.get_save_procedure(self._default_file_extension) self._current_layer_export_status = ExportStatuses.NOT_EXPORTED_YET self._current_overwrite_mode = None
def _init_attributes(self, operations, layer_tree, keep_exported_layers, on_after_create_image_copy_func, on_after_insert_layer_func): self._enable_disable_operations(operations) if layer_tree is not None: self._layer_tree = layer_tree else: self._layer_tree = pgitemtree.LayerTree( self.image, name=pygimplib.config.SOURCE_PERSISTENT_NAME, is_filtered=True) self._keep_exported_layers = keep_exported_layers self._on_after_create_image_copy_func = ( on_after_create_image_copy_func if on_after_create_image_copy_func is not None else lambda *args: None) self._on_after_insert_layer_func = ( on_after_insert_layer_func if on_after_insert_layer_func is not None else lambda *args: None) self.should_stop = False self._exported_layers = [] self._current_layer_elem = None self._current_file_extension = None self._output_directory = self.export_settings['output_directory'].value self._include_item_path = self.export_settings['layer_groups_as_folders'].value self._image_copy = None self._tagged_layer_elems = collections.defaultdict(list) self._tagged_layer_copies = collections.defaultdict(lambda: None) self._use_another_image_copy = False self._another_image_copy = None self.progress_updater.reset() self._file_extension_properties = self._prefill_file_extension_properties() self._default_file_extension = self.export_settings['file_extension'].value.lstrip(".").lower() self._file_extension_to_assign = self._default_file_extension self._file_export_func = pgfileformats.get_save_procedure(self._default_file_extension) self._current_layer_export_status = ExportStatuses.NOT_EXPORTED_YET self._current_overwrite_mode = None if self.export_settings['layer_filename_pattern'].value: pattern = self.export_settings['layer_filename_pattern'].value else: pattern = self.export_settings['layer_filename_pattern'].default_value self._filename_pattern_generator = pgpath.StringPatternGenerator( pattern=pattern, fields=self._get_fields_for_layer_filename_pattern()) # key: _ItemTreeElement parent ID (None for root); value: list of pattern number generators self._pattern_number_filename_generators = {None: self._filename_pattern_generator.get_number_generators()}
def _update_file_export_func(self): if self.export_settings['more_operations/use_file_extensions_in_layer_names'].value: self._file_export_func = pgfileformats.get_save_procedure(self._file_extension_to_assign)
def _update_file_export_func(self): if self.export_settings['file_extension_mode'].is_item('use_as_file_extensions'): self._file_export_func = pgfileformats.get_save_procedure(self._current_file_extension)