Merge pull request #1525 from palfrey/dodgy-date-tags
If the date in a tag is invalid, skip it
This commit is contained in:
parent
0c6be281df
commit
692138a51e
@ -44,10 +44,15 @@ gstreamer-GstTagList.html
|
|||||||
value = taglist.get_value_index(tag, i)
|
value = taglist.get_value_index(tag, i)
|
||||||
|
|
||||||
if isinstance(value, GLib.Date):
|
if isinstance(value, GLib.Date):
|
||||||
date = datetime.date(
|
try:
|
||||||
value.get_year(), value.get_month(), value.get_day())
|
date = datetime.date(
|
||||||
result[tag].append(date.isoformat().decode('utf-8'))
|
value.get_year(), value.get_month(), value.get_day())
|
||||||
if isinstance(value, Gst.DateTime):
|
result[tag].append(date.isoformat().decode('utf-8'))
|
||||||
|
except ValueError:
|
||||||
|
logger.debug(
|
||||||
|
'Ignoring dodgy date value: %d-%d-%d',
|
||||||
|
value.get_year(), value.get_month(), value.get_day())
|
||||||
|
elif isinstance(value, Gst.DateTime):
|
||||||
result[tag].append(value.to_iso8601_string().decode('utf-8'))
|
result[tag].append(value.to_iso8601_string().decode('utf-8'))
|
||||||
elif isinstance(value, bytes):
|
elif isinstance(value, bytes):
|
||||||
result[tag].append(value.decode('utf-8', 'replace'))
|
result[tag].append(value.decode('utf-8', 'replace'))
|
||||||
|
|||||||
@ -44,6 +44,14 @@ class TestConvertTaglist(object):
|
|||||||
assert isinstance(result[Gst.TAG_DATE][0], compat.text_type)
|
assert isinstance(result[Gst.TAG_DATE][0], compat.text_type)
|
||||||
assert result[Gst.TAG_DATE][0] == '2014-01-07'
|
assert result[Gst.TAG_DATE][0] == '2014-01-07'
|
||||||
|
|
||||||
|
def test_date_tag_bad_value(self):
|
||||||
|
date = GLib.Date.new_dmy(7, 1, 10000)
|
||||||
|
taglist = self.make_taglist(Gst.TAG_DATE, [date])
|
||||||
|
|
||||||
|
result = tags.convert_taglist(taglist)
|
||||||
|
|
||||||
|
assert len(result[Gst.TAG_DATE]) == 0
|
||||||
|
|
||||||
def test_date_time_tag(self):
|
def test_date_time_tag(self):
|
||||||
taglist = self.make_taglist(Gst.TAG_DATE_TIME, [
|
taglist = self.make_taglist(Gst.TAG_DATE_TIME, [
|
||||||
Gst.DateTime.new_from_iso8601_string(b'2014-01-07 14:13:12')
|
Gst.DateTime.new_from_iso8601_string(b'2014-01-07 14:13:12')
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user