|
|
|
@ -11,6 +11,7 @@ from ..compat import (
|
|
|
|
|
compat_urlparse,
|
|
|
|
|
)
|
|
|
|
|
from ..utils import (
|
|
|
|
|
dict_get,
|
|
|
|
|
ExtractorError,
|
|
|
|
|
float_or_none,
|
|
|
|
|
int_or_none,
|
|
|
|
@ -119,14 +120,17 @@ class PluralsightIE(PluralsightBaseIE):
|
|
|
|
|
@staticmethod
|
|
|
|
|
def _convert_subtitles(duration, subs):
|
|
|
|
|
srt = ''
|
|
|
|
|
TIME_OFFSET_KEYS = ('displayTimeOffset', 'DisplayTimeOffset')
|
|
|
|
|
TEXT_KEYS = ('text', 'Text')
|
|
|
|
|
for num, current in enumerate(subs):
|
|
|
|
|
current = subs[num]
|
|
|
|
|
start, text = float_or_none(
|
|
|
|
|
current.get('DisplayTimeOffset')), current.get('Text')
|
|
|
|
|
start, text = (
|
|
|
|
|
float_or_none(dict_get(current, TIME_OFFSET_KEYS)),
|
|
|
|
|
dict_get(current, TEXT_KEYS))
|
|
|
|
|
if start is None or text is None:
|
|
|
|
|
continue
|
|
|
|
|
end = duration if num == len(subs) - 1 else float_or_none(
|
|
|
|
|
subs[num + 1].get('DisplayTimeOffset'))
|
|
|
|
|
dict_get(subs[num + 1], TIME_OFFSET_KEYS))
|
|
|
|
|
if end is None:
|
|
|
|
|
continue
|
|
|
|
|
srt += os.linesep.join(
|
|
|
|
|