diff options
| -rw-r--r-- | test/test_utils.py | 2 | ||||
| -rw-r--r-- | youtube_dl/utils.py | 8 | 
2 files changed, 7 insertions, 3 deletions
| diff --git a/test/test_utils.py b/test/test_utils.py index 86b110a7d..b40107037 100644 --- a/test/test_utils.py +++ b/test/test_utils.py @@ -600,7 +600,7 @@ ffmpeg version 2.4.4 Copyright (c) 2000-2014 the FFmpeg ...'''), '2.4.4')                  <div xml:lang="en">                      <p begin="0" end="1">The following line contains Chinese characters and special symbols</p>                      <p begin="1" end="2">第二行<br/>♪♪</p> -                    <p begin="2" end="3"><span>Third<br/>Line</span></p> +                    <p begin="2" dur="1"><span>Third<br/>Line</span></p>                  </div>              </body>              </tt>''' diff --git a/youtube_dl/utils.py b/youtube_dl/utils.py index d73efcf25..5439fcb35 100644 --- a/youtube_dl/utils.py +++ b/youtube_dl/utils.py @@ -1866,10 +1866,14 @@ def dfxp2srt(dfxp_data):      paras = dfxp.findall(_x('.//ttml:p'))      for para, index in zip(paras, itertools.count(1)): +        begin_time = parse_dfxp_time_expr(para.attrib['begin']) +        end_time = parse_dfxp_time_expr(para.attrib.get('end')) +        if not end_time: +            end_time = begin_time + parse_dfxp_time_expr(para.attrib['dur'])          out.append('%d\n%s --> %s\n%s\n\n' % (              index, -            format_srt_time(parse_dfxp_time_expr(para.attrib.get('begin'))), -            format_srt_time(parse_dfxp_time_expr(para.attrib.get('end'))), +            format_srt_time(begin_time), +            format_srt_time(end_time),              parse_node(para)))      return ''.join(out) | 
