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!
This commit is contained in:
Elrond 2013-01-26 15:08:12 +01:00
parent bfd68cce85
commit 715ea49546
3 changed files with 8 additions and 7 deletions

View File

@ -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

View File

@ -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()

View File

@ -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)