[utils] fix style id extraction for namespaced id attribute(closes #16551)
authorRemita Amine <remitamine@gmail.com>
Sat, 26 May 2018 13:35:47 +0000 (14:35 +0100)
committerRemita Amine <remitamine@gmail.com>
Sat, 26 May 2018 13:38:24 +0000 (14:38 +0100)
youtube_dl/utils.py

index 7b4fd882f36e7a99c1e0649346d27f22b31f8cf2..63f24c0b646635b65f62e1b162dcdebf8e6a72d9 100644 (file)
@@ -2667,6 +2667,7 @@ def dfxp2srt(dfxp_data):
     ]
 
     _x = functools.partial(xpath_with_ns, ns_map={
+        'xml': 'http://www.w3.org/XML/1998/namespace',
         'ttml': 'http://www.w3.org/ns/ttml',
         'tts': 'http://www.w3.org/ns/ttml#styling',
     })
@@ -2758,7 +2759,9 @@ def dfxp2srt(dfxp_data):
     repeat = False
     while True:
         for style in dfxp.findall(_x('.//ttml:style')):
-            style_id = style.get('id')
+            style_id = style.get('id') or style.get(_x('xml:id'))
+            if not style_id:
+                continue
             parent_style_id = style.get('style')
             if parent_style_id:
                 if parent_style_id not in styles: