Selaa lähdekoodia

[utils] dfxp2srt: add additional namespace

Used by the ZDF subtitles (#9081).
Jaime Marquínez Ferrándiz 9 vuotta sitten
vanhempi
sitoutus
5bf28d7864
1 muutettua tiedostoa jossa 2 lisäystä ja 1 poistoa
  1. 2 1
      youtube_dl/utils.py

+ 2 - 1
youtube_dl/utils.py

@@ -2131,6 +2131,7 @@ def dfxp2srt(dfxp_data):
     _x = functools.partial(xpath_with_ns, ns_map={
     _x = functools.partial(xpath_with_ns, ns_map={
         'ttml': 'http://www.w3.org/ns/ttml',
         'ttml': 'http://www.w3.org/ns/ttml',
         'ttaf1': 'http://www.w3.org/2006/10/ttaf1',
         'ttaf1': 'http://www.w3.org/2006/10/ttaf1',
+        'ttaf1_0604': 'http://www.w3.org/2006/04/ttaf1',
     })
     })
 
 
     class TTMLPElementParser(object):
     class TTMLPElementParser(object):
@@ -2157,7 +2158,7 @@ def dfxp2srt(dfxp_data):
 
 
     dfxp = compat_etree_fromstring(dfxp_data.encode('utf-8'))
     dfxp = compat_etree_fromstring(dfxp_data.encode('utf-8'))
     out = []
     out = []
-    paras = dfxp.findall(_x('.//ttml:p')) or dfxp.findall(_x('.//ttaf1:p')) or dfxp.findall('.//p')
+    paras = dfxp.findall(_x('.//ttml:p')) or dfxp.findall(_x('.//ttaf1:p')) or dfxp.findall(_x('.//ttaf1_0604:p')) or dfxp.findall('.//p')
 
 
     if not paras:
     if not paras:
         raise ValueError('Invalid dfxp/TTML subtitle')
         raise ValueError('Invalid dfxp/TTML subtitle')