From 6471291575c97f03d129051dc3d2bef28b4d89f2 Mon Sep 17 00:00:00 2001 From: Joar Wandborg Date: Wed, 11 Jul 2012 00:36:42 +0200 Subject: Panel improvements - Added progress meter for video and audio media types. - Changed the __repr__ method of a MediaEntry to display a bit more useful explanation. - Added a new MediaEntry.state, 'processing', which means that the task is running the processor on the item currently. - Fixed some PEP8 issues in user_pages/views.py - Fixed the ATOM TAG URI to show the correct year. --- mediagoblin/processing/task.py | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) (limited to 'mediagoblin/processing/task.py') diff --git a/mediagoblin/processing/task.py b/mediagoblin/processing/task.py index af815362..58e36a11 100644 --- a/mediagoblin/processing/task.py +++ b/mediagoblin/processing/task.py @@ -44,20 +44,24 @@ class ProcessMedia(Task): entry = mgg.database.MediaEntry.one( {'_id': ObjectId(media_id)}) - _log.info('Running task {0} on media {1}: {2}'.format( - self.name, - entry._id, - entry.title)) - # Try to process, and handle expected errors. try: - #__import__(entry.media_type) manager = get_media_manager(entry.media_type) + + entry.state = u'processing' + entry.save() + _log.debug('Processing {0}'.format(entry)) + manager['processor'](entry) + + entry.state = u'processed' + entry.save() + except BaseProcessingFail as exc: mark_entry_failed(entry._id, exc) return + except ImportError as exc: _log.error( 'Entry {0} failed to process due to an import error: {1}'\ @@ -67,9 +71,6 @@ class ProcessMedia(Task): mark_entry_failed(entry._id, exc) - entry.state = u'processed' - entry.save() - def on_failure(self, exc, task_id, args, kwargs, einfo): """ If the processing failed we should mark that in the database. -- cgit v1.2.3