Process videos with incorrect date tags [#5409]
authorAndrew Browning <ayleph@thisshitistemp.com>
Sun, 8 Apr 2018 23:40:02 +0000 (19:40 -0400)
committerAndrew Browning <ayleph@thisshitistemp.com>
Sun, 8 Apr 2018 23:40:02 +0000 (19:40 -0400)
Video processing expects datetime tags in a specific format. This
commit allows videos with missing or incorrect datetime tags to be
processed with no datetime tags instead of failing.

mediagoblin/media_types/video/processing.py

index 3168c0548f3cced6ef23d836c9794d9fc43cdf02..71204fc775c362f3c5ba2824e9250af0aa7e13d8 100644 (file)
@@ -116,10 +116,13 @@ def get_tags(stream_info):
         # TODO: handle timezone info; gst.get_time_zone_offset +
         # python's tzinfo should help
         dt = tags['datetime']
-        tags['datetime'] = datetime.datetime(
-            dt.get_year(), dt.get_month(), dt.get_day(), dt.get_hour(),
-            dt.get_minute(), dt.get_second(),
-            dt.get_microsecond()).isoformat()
+        try:
+            tags['datetime'] = datetime.datetime(
+                dt.get_year(), dt.get_month(), dt.get_day(), dt.get_hour(),
+                dt.get_minute(), dt.get_second(),
+                dt.get_microsecond()).isoformat()
+        except:
+            tags['datetime'] = None
     for k, v in tags.copy().items():
         # types below are accepted by json; others must not present
         if not isinstance(v, (dict, list, six.string_types, int, float, bool,