diff options
-rw-r--r-- | README.md | 1 | ||||
-rw-r--r-- | youtube_dlc/YoutubeDL.py | 4 | ||||
-rw-r--r-- | youtube_dlc/utils.py | 6 |
3 files changed, 8 insertions, 3 deletions
@@ -741,6 +741,7 @@ The basic usage is not to set any template arguments when downloading a single f - `channel_id` (string): Id of the channel - `location` (string): Physical location where the video was filmed - `duration` (numeric): Length of the video in seconds + - `duration_string` (string): Length of the video (HH-mm-ss) - `view_count` (numeric): How many users have watched the video on the platform - `like_count` (numeric): Number of positive ratings of the video - `dislike_count` (numeric): Number of negative ratings of the video diff --git a/youtube_dlc/YoutubeDL.py b/youtube_dlc/YoutubeDL.py index e632ba708..19666d0ad 100644 --- a/youtube_dlc/YoutubeDL.py +++ b/youtube_dlc/YoutubeDL.py @@ -908,6 +908,10 @@ class YoutubeDL(object): self.add_extra_info(ie_result, { 'extractor': ie.IE_NAME, 'webpage_url': url, + 'duration_string': ( + formatSeconds(ie_result['duration'], '-') + if ie_result.get('duration', None) is not None + else None), 'webpage_url_basename': url_basename(url), 'extractor_key': ie.ie_key(), }) diff --git a/youtube_dlc/utils.py b/youtube_dlc/utils.py index 6ed8629a7..21e3481a0 100644 --- a/youtube_dlc/utils.py +++ b/youtube_dlc/utils.py @@ -2285,11 +2285,11 @@ def decodeOption(optval): return optval -def formatSeconds(secs): +def formatSeconds(secs, delim=':'): if secs > 3600: - return '%d:%02d:%02d' % (secs // 3600, (secs % 3600) // 60, secs % 60) + return '%d%s%02d%s%02d' % (secs // 3600, delim, (secs % 3600) // 60, delim, secs % 60) elif secs > 60: - return '%d:%02d' % (secs // 60, secs % 60) + return '%d%s%02d' % (secs // 60, delim, secs % 60) else: return '%d' % secs |