diff options
-rw-r--r-- | mediagoblin/processing/__init__.py | 1 | ||||
-rw-r--r-- | mediagoblin/processing/task.py | 10 |
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 |