Use ProcessingState for video.
authorElrond <elrond+mediagoblin.org@samba-tng.org>
Sat, 26 Jan 2013 13:54:17 +0000 (14:54 +0100)
committerElrond <elrond+mediagoblin.org@samba-tng.org>
Fri, 8 Feb 2013 09:09:37 +0000 (10:09 +0100)
Rewrite video to use the new ProcessingState.

Thanks to Joar Wandborg for testing!

mediagoblin/media_types/video/processing.py

index 4c9f01319edff3ec688b3a8e095b0f39145e826e..8b966636027864ce331816cdef7ff06e20d40b28 100644 (file)
@@ -18,7 +18,6 @@ from tempfile import NamedTemporaryFile
 import logging
 
 from mediagoblin import mg_globals as mgg
-from mediagoblin.decorators import get_workbench
 from mediagoblin.processing import \
     create_pub_filepath, FilenameBuilder, BaseProcessingFail, ProgressCallback
 from mediagoblin.tools.translate import lazy_pass_to_ugettext as _
@@ -52,8 +51,8 @@ def sniff_handler(media_file, **kw):
 
     return False
 
-@get_workbench
-def process_video(entry, workbench=None):
+
+def process_video(entry):
     """
     Process a video entry, transcode the queued media files (originals) and
     create a thumbnail for the entry.
@@ -61,12 +60,12 @@ def process_video(entry, workbench=None):
     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
     video_config = mgg.global_config['media_type:mediagoblin.media_types.video']
 
     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)
 
     medium_filepath = create_pub_filepath(
@@ -121,4 +120,5 @@ def process_video(entry, workbench=None):
         mgg.public_store.copy_local_to_storage(queued_filename, original_filepath)
         entry.media_files['original'] = original_filepath
 
-    mgg.queue_store.delete_file(queued_filepath)
+    # Remove queued media file from storage and database
+    proc_state.delete_queue_file()