X-Git-Url: https://vcs.fsf.org/?a=blobdiff_plain;f=mediagoblin%2Fmedia_types%2Fimage%2Fprocessing.py;h=8afcf90b18313f95011153d87fa82c668afe5d18;hb=715ea495466a0dcebd1425dfd322775ff147aacd;hp=99be848f521074be3f31e657016f8122da24895e;hpb=d63cc34e7122a9d34fbc36967365ecfef6761f24;p=mediagoblin.git diff --git a/mediagoblin/media_types/image/processing.py b/mediagoblin/media_types/image/processing.py index 99be848f..8afcf90b 100644 --- a/mediagoblin/media_types/image/processing.py +++ b/mediagoblin/media_types/image/processing.py @@ -19,7 +19,6 @@ import os import logging from mediagoblin import mg_globals as mgg -from mediagoblin.decorators import get_workbench from mediagoblin.processing import BadMediaFail, \ create_pub_filepath, FilenameBuilder from mediagoblin.tools.exif import exif_fix_image_orientation, \ @@ -95,21 +94,21 @@ def sniff_handler(media_file, **kw): return False -@get_workbench -def process_image(entry, workbench=None): +def process_image(entry): """Code to process an image. Will be run by celery. A Workbench() represents a local tempory dir. It is automatically cleaned up when this function exits. """ + proc_state = entry.proc_state + workbench = proc_state.workbench + # Conversions subdirectory to avoid collisions conversions_subdir = os.path.join( workbench.dir, 'conversions') os.mkdir(conversions_subdir) - queued_filepath = entry.queued_media_file - queued_filename = workbench.localized_file( - mgg.queue_store, queued_filepath, - 'source') + + queued_filename = proc_state.get_queued_filename() name_builder = FilenameBuilder(queued_filename) # EXIF extraction @@ -142,18 +141,14 @@ def process_image(entry, workbench=None): 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 - mgg.queue_store.delete_file(queued_filepath) - entry.queued_media_file = [] + proc_state.delete_queue_file() # 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