twitch.tv chapters (#810): print out start and end time

This commit is contained in:
Philipp Hagemeister 2013-05-04 12:02:18 +02:00
parent c43e57242e
commit 4539dd30e6
2 changed files with 14 additions and 2 deletions

View file

@ -3389,11 +3389,15 @@ def _real_extract(self, url):
errnote='Download of chapter metadata failed') errnote='Download of chapter metadata failed')
chapter_info = json.loads(chapter_info_json) chapter_info = json.loads(chapter_info_json)
bracket_start = int(doc.find('.//bracket_start').text)
bracket_end = int(doc.find('.//bracket_end').text)
# TODO determine start (and probably fix up file) # TODO determine start (and probably fix up file)
# youtube-dl -v http://www.twitch.tv/firmbelief/c/1757457 # youtube-dl -v http://www.twitch.tv/firmbelief/c/1757457
#video_url += u'?start=' + a.find('./start_timestamp').text #video_url += u'?start=' + TODO:start_timestamp
self._downloader.report_warning(u'Chapter detected, but we do not know how to calculate start position. Downloading the whole file ... (See https://github.com/rg3/youtube-dl/issues/810 )') # bracket_start is 13290, but we want 51670615
self._downloader.report_warning(u'Chapter detected, but we can just download the whole file. '
u'Chapter starts at %s and ends at %s' % (formatSeconds(bracket_start), formatSeconds(bracket_end)))
info = { info = {
'id': u'c' + chapter_id, 'id': u'c' + chapter_id,

View file

@ -430,6 +430,14 @@ def decodeOption(optval):
assert isinstance(optval, compat_str) assert isinstance(optval, compat_str)
return optval return optval
def formatSeconds(secs):
if secs > 3600:
return '%d:%02d:%02d' % (secs // 3600, (secs % 3600) // 60, secs % 60)
elif secs > 60:
return '%d:%02d' % (secs // 60, secs % 60)
else:
return '%d' % secs
class ExtractorError(Exception): class ExtractorError(Exception):
"""Error during info extraction.""" """Error during info extraction."""
def __init__(self, msg, tb=None): def __init__(self, msg, tb=None):