aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--mediagoblin/processing/__init__.py1
-rw-r--r--mediagoblin/processing/task.py10
2 files changed, 7 insertions, 4 deletions
diff --git a/mediagoblin/processing/__init__.py b/mediagoblin/processing/__init__.py
index 02dba2f9..47f0b84e 100644
--- a/mediagoblin/processing/__init__.py
+++ b/mediagoblin/processing/__init__.py
@@ -116,6 +116,7 @@ class MediaProcessor(object):
def __init__(self, manager, media_entry):
self.manager = manager
self.media_entry = media_entry
+ self.entry_orig_state = media_entry.state
# Should be initialized at time of processing, at least
self.workbench = None
diff --git a/mediagoblin/processing/task.py b/mediagoblin/processing/task.py
index 397514d0..d3770588 100644
--- a/mediagoblin/processing/task.py
+++ b/mediagoblin/processing/task.py
@@ -85,12 +85,14 @@ class ProcessMedia(task.Task):
try:
processor_class = manager.get_processor(reprocess_action, entry)
- entry.state = u'processing'
- entry.save()
+ with processor_class(manager, entry) as processor:
+ # Initial state change has to be here because
+ # the entry.state gets recorded on processor_class init
+ entry.state = u'processing'
+ entry.save()
- _log.debug('Processing {0}'.format(entry))
+ _log.debug('Processing {0}'.format(entry))
- with processor_class(manager, entry) as processor:
processor.process(**reprocess_info)
# We set the state to processed and save the entry here so there's