"""
Get the exception that's appropriate for this error
"""
- if self['fail_error']:
- return common.import_component(self['fail_error'])
+ if self.fail_error:
+ return common.import_component(self.fail_error)
def get_license_data(self):
"""Return license dict for requested license"""
from mediagoblin import mg_globals as mgg
from mediagoblin.processing import \
- create_pub_filepath, FilenameBuilder
+ create_pub_filepath, FilenameBuilder, BaseProcessingFail
+from mediagoblin.tools.translate import lazy_pass_to_ugettext as _
+
from . import transcoders
_log = logging.getLogger(__name__)
_log.setLevel(logging.DEBUG)
+class VideoTranscodingFail(BaseProcessingFail):
+ '''
+ Error raised if video transcoding fails
+ '''
+ general_message = _(u'Video transcoding failed')
+
+
def sniff_handler(media_file, **kw):
transcoder = transcoders.VideoTranscoder()
data = transcoder.discover(media_file.name)
from mediagoblin.processing import mark_entry_failed, BaseProcessingFail
_log = logging.getLogger(__name__)
+logging.basicConfig()
+_log.setLevel(logging.DEBUG)
################################
class ProcessMedia(Task):
"""
- DEPRECATED -- This now resides in the individual media plugins
-
Pass this entry off for processing.
"""
def run(self, media_id):
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)
_log.debug('Processing {0}'.format(entry))
manager['processor'](entry)
- except BaseProcessingFail, exc:
+ except BaseProcessingFail as exc:
mark_entry_failed(entry._id, exc)
return
- except ImportError, exc:
+ except ImportError as exc:
_log.error(
'Entry {0} failed to process due to an import error: {1}'\
.format(
{% if processing_entries.count() %}
<table class="media_panel processing">
<tr>
+ <th>ID</th>
<th>Title</th>
<th>When submitted</th>
<th>Status</th>
</tr>
{% for media_entry in processing_entries %}
<tr>
+ <td>{{ media_entry._id }}</td>
<td>{{ media_entry.title }}</td>
<td>{{ media_entry.created.strftime("%m-%d-%Y %I:%M %p") }}</td>
<td></td>
<table class="media_panel failed">
<tr>
+ <th>ID</th>
<th>Title</th>
<th>When submitted</th>
<th>Reason for failure</th>
+ <th>Failure metadata</th>
</tr>
{% for media_entry in failed_entries %}
<tr>
+ <td>{{ media_entry._id }}</td>
<td>{{ media_entry.title }}</td>
- <td>{{ media_entry['created'].strftime("%m-%d-%Y %I:%M %p") }}</td>
+ <td>{{ media_entry.created.strftime("%m-%d-%Y %I:%M %p") }}</td>
+ {% if media_entry.get_fail_exception() %}
<td>{{ media_entry.get_fail_exception().general_message }}</td>
+ <td>{{ media_entry.fail_metadata }}</td>
+ {% else %}
+ <td> </td>
+ <td> </td>
+ {% endif %}
</tr>
{% endfor %}
</table>