summary refs log tree commit diff
diff options
context:
space:
mode:
authorPhilipp Hagemeister <phihag@phihag.de>2013-05-04 12:02:18 +0200
committerPhilipp Hagemeister <phihag@phihag.de>2013-05-04 12:02:18 +0200
commit4539dd30e6c00a50760094e7a41744843d659cb1 (patch)
tree7bd5d78b89be688b7e7338eecbadf1c0dc9bb61a
parentc43e57242e10eae327d4348390cfb9e574fad5dd (diff)
downloadyoutube-dl-4539dd30e6c00a50760094e7a41744843d659cb1.tar.gz
youtube-dl-4539dd30e6c00a50760094e7a41744843d659cb1.tar.xz
youtube-dl-4539dd30e6c00a50760094e7a41744843d659cb1.zip
twitch.tv chapters (#810): print out start and end time
-rwxr-xr-xyoutube_dl/InfoExtractors.py8
-rw-r--r--youtube_dl/utils.py8
2 files changed, 14 insertions, 2 deletions
diff --git a/youtube_dl/InfoExtractors.py b/youtube_dl/InfoExtractors.py
index 96c597396..36343882b 100755
--- a/youtube_dl/InfoExtractors.py
+++ b/youtube_dl/InfoExtractors.py
@@ -3389,11 +3389,15 @@ class JustinTVIE(InfoExtractor):
                                    errnote='Download of chapter metadata failed')
             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)
             #  youtube-dl -v http://www.twitch.tv/firmbelief/c/1757457
-            #video_url += u'?start=' + a.find('./start_timestamp').text
-            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 )')
+            #video_url += u'?start=' + TODO:start_timestamp
+            # 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 = {
                 'id': u'c' + chapter_id,
diff --git a/youtube_dl/utils.py b/youtube_dl/utils.py
index 6c5b5df4c..4ec0ebfe1 100644
--- a/youtube_dl/utils.py
+++ b/youtube_dl/utils.py
@@ -430,6 +430,14 @@ def decodeOption(optval):
     assert isinstance(optval, compat_str)
     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):
     """Error during info extraction."""
     def __init__(self, msg, tb=None):