From: Elrond Date: Sat, 26 Jan 2013 14:08:12 +0000 (+0100) Subject: Also refactor "copy original into public storage". X-Git-Url: https://vcs.fsf.org/?a=commitdiff_plain;h=715ea495466a0dcebd1425dfd322775ff147aacd;p=mediagoblin.git Also refactor "copy original into public storage". This makes the processing code easier to read/write and alos will help the reprocessing once we get to it. Thanks to Joar Wandborg for testing! --- diff --git a/mediagoblin/media_types/image/processing.py b/mediagoblin/media_types/image/processing.py index 541e5109..8afcf90b 100644 --- a/mediagoblin/media_types/image/processing.py +++ b/mediagoblin/media_types/image/processing.py @@ -141,9 +141,7 @@ def process_image(entry): medium_filepath = None # Copy our queued local workbench to its final destination - original_filepath = create_pub_filepath( - entry, name_builder.fill('{basename}{ext}')) - mgg.public_store.copy_local_to_storage(queued_filename, original_filepath) + proc_state.copy_original(name_builder.fill('{basename}{ext}')) # Remove queued media file from storage and database proc_state.delete_queue_file() @@ -151,7 +149,6 @@ def process_image(entry): # Insert media file information into database media_files_dict = entry.setdefault('media_files', {}) media_files_dict[u'thumb'] = thumb_filepath - media_files_dict[u'original'] = original_filepath if medium_filepath: media_files_dict[u'medium'] = medium_filepath diff --git a/mediagoblin/media_types/video/processing.py b/mediagoblin/media_types/video/processing.py index 8b966636..9040b736 100644 --- a/mediagoblin/media_types/video/processing.py +++ b/mediagoblin/media_types/video/processing.py @@ -116,9 +116,7 @@ def process_video(entry): if video_config['keep_original']: # Push original file to public storage _log.debug('Saving original...') - original_filepath = create_pub_filepath(entry, queued_filepath[-1]) - mgg.public_store.copy_local_to_storage(queued_filename, original_filepath) - entry.media_files['original'] = original_filepath + proc_state.copy_original(queued_filepath[-1]) # Remove queued media file from storage and database proc_state.delete_queue_file() diff --git a/mediagoblin/processing/__init__.py b/mediagoblin/processing/__init__.py index 1760d0b9..28256107 100644 --- a/mediagoblin/processing/__init__.py +++ b/mediagoblin/processing/__init__.py @@ -109,6 +109,12 @@ class ProcessingState(object): self.queued_filename = queued_filename return queued_filename + def copy_original(self, target_name, keyname=u"original"): + target_filepath = create_pub_filepath(self.entry, target_name) + mgg.public_store.copy_local_to_storage(self.get_queued_filename(), + target_filepath) + self.entry.media_files[keyname] = target_filepath + def delete_queue_file(self): queued_filepath = self.entry.queued_media_file mgg.queue_store.delete_file(queued_filepath)