﻿id	summary	reporter	owner	description	type	status	priority	milestone	component	resolution	keywords	cc	parents
5409	Media processing fails on video with year only	Ben Sturmfels		"Re-processing a video that failed to be processed gives the following traceback:

{{{
$ bin/gmg reprocess --celery initial
DEBUG:mediagoblin.processing.task:Processing <MediaEntry 19: rock-your-emacs>

(python:3524): GStreamer-CRITICAL **: gst_date_time_get_month: assertion 'gst_date_time_has_month (datetime)' failed

(python:3524): GStreamer-CRITICAL **: gst_date_time_get_day: assertion 'gst_date_time_has_day (datetime)' failed

(python:3524): GStreamer-CRITICAL **: gst_date_time_get_hour: assertion 'gst_date_time_has_time (datetime)' failed

(python:3524): GStreamer-CRITICAL **: gst_date_time_get_minute: assertion 'gst_date_time_has_time (datetime)' failed

(python:3524): GStreamer-CRITICAL **: gst_date_time_get_second: assertion 'gst_date_time_has_second (datetime)' failed

(python:3524): GStreamer-CRITICAL **: gst_date_time_get_microsecond: assertion 'gst_date_time_has_second (datetime)' failed
ERROR:mediagoblin.processing.task:An unhandled exception was raised while processing <MediaEntry 19: rock-your-emacs>
WARNING:mediagoblin.processing:No idea what happened here, but it failed: ValueError('month must be in 1..12',)
WARNING:mediagoblin.processing:No idea what happened here, but it failed: ValueError('month must be in 1..12',)
Traceback (most recent call last):
  File ""/home/web/local/mediagoblin/bin/gmg"", line 9, in <module>
    load_entry_point('mediagoblin==0.8.0', 'console_scripts', 'gmg')()
  File ""/home/web/local/mediagoblin/mediagoblin/gmg_commands/__init__.py"", line 142, in main_cli
    args.func(args)
  File ""/home/web/local/mediagoblin/mediagoblin/gmg_commands/reprocess.py"", line 305, in reprocess
    initial(args)
  File ""/home/web/local/mediagoblin/mediagoblin/gmg_commands/reprocess.py"", line 280, in initial
    reprocess_action='initial')
  File ""/home/web/local/mediagoblin/mediagoblin/submit/lib.py"", line 257, in run_process_media
    task_id=entry.queued_task_id)
  File ""/home/web/local/mediagoblin/local/lib/python2.7/site-packages/celery-3.1.20-py2.7.egg/celery/app/task.py"", line 557, in apply_async
    link=link, link_error=link_error, **options)
  File ""/home/web/local/mediagoblin/local/lib/python2.7/site-packages/celery-3.1.20-py2.7.egg/celery/app/task.py"", line 755, in apply
    request=request, propagate=throw)
  File ""/home/web/local/mediagoblin/local/lib/python2.7/site-packages/celery-3.1.20-py2.7.egg/celery/app/trace.py"", line 355, in eager_trace_task
    uuid, args, kwargs, request)
  File ""/home/web/local/mediagoblin/local/lib/python2.7/site-packages/celery-3.1.20-py2.7.egg/celery/app/trace.py"", line 253, in trace_task
    I, R, state, retval = on_error(task_request, exc, uuid)
  File ""/home/web/local/mediagoblin/local/lib/python2.7/site-packages/celery-3.1.20-py2.7.egg/celery/app/trace.py"", line 240, in trace_task
    R = retval = fun(*args, **kwargs)
  File ""/home/web/local/mediagoblin/mediagoblin/processing/task.py"", line 101, in run
    processor.process(**reprocess_info)
  File ""/home/web/local/mediagoblin/mediagoblin/media_types/video/processing.py"", line 393, in process
    vp8_threads=vp8_threads, vorbis_quality=vorbis_quality)
  File ""/home/web/local/mediagoblin/mediagoblin/media_types/video/processing.py"", line 255, in transcode
    store_metadata(self.entry, metadata)
  File ""/home/web/local/mediagoblin/mediagoblin/media_types/video/processing.py"", line 136, in store_metadata
    'tags': get_tags(audio_info)
  File ""/home/web/local/mediagoblin/mediagoblin/media_types/video/processing.py"", line 112, in get_tags
    dt.get_microsecond()).isoformat()
ValueError: month must be in 1..12
}}}

I'll need to prepare a smaller video that has similar metadata, but the video I was uploading on is here:

http://www.sturm.com.au/2015/talks/rock-your-emacs-libreplanet/rock-your-emacs.webm

I'm assuming that the issue is that if there is any date information, MediaGoblin assumes the full date is supplied. This video only has a year specified I think, so the ``get_month()`` returns zero."	defect	closed	minor		programming	fixed			
