mirror of
https://github.com/ihabunek/twitch-dl
synced 2024-08-30 18:32:25 +00:00
Add compact videos display
This commit is contained in:
parent
f289c93305
commit
4d19f09065
@ -12,6 +12,7 @@ implementation of new features, but has no breaking changes for the CLI.
|
||||
* **BREAKING**: Require Python 3.7 or later.
|
||||
* Add `--rate-limit` option to `download` for limiting maximum bandwidth when
|
||||
downloading.
|
||||
* Add `--compact` option to `download` for displaying one video per line.
|
||||
* Allow passing multiple video ids to `download` to download multiple videos
|
||||
successively.
|
||||
* Improved progress meter, updates on each chunk downloaded, instead of each VOD
|
||||
|
@ -8,6 +8,7 @@
|
||||
changes:
|
||||
- "**BREAKING**: Require Python 3.7 or later."
|
||||
- "Add `--rate-limit` option to `download` for limiting maximum bandwidth when downloading."
|
||||
- "Add `--compact` option to `download` for displaying one video per line."
|
||||
- "Allow passing multiple video ids to `download` to download multiple videos successively."
|
||||
- "Improved progress meter, updates on each chunk downloaded, instead of each VOD downloaded."
|
||||
- "Improved speed estimate, displays recent speed instead of average speed since the start of download."
|
||||
|
@ -12,6 +12,7 @@ implementation of new features, but has no breaking changes for the CLI.
|
||||
* **BREAKING**: Require Python 3.7 or later.
|
||||
* Add `--rate-limit` option to `download` for limiting maximum bandwidth when
|
||||
downloading.
|
||||
* Add `--compact` option to `download` for displaying one video per line.
|
||||
* Allow passing multiple video ids to `download` to download multiple videos
|
||||
successively.
|
||||
* Improved progress meter, updates on each chunk downloaded, instead of each VOD
|
||||
|
@ -33,6 +33,11 @@ twitch-dl videos <channel_name> [FLAGS] [OPTIONS]
|
||||
<td class="code">-j, --json</td>
|
||||
<td>Show results as JSON. Ignores <code>--pager</code>.</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="code">-c, --compact</td>
|
||||
<td>Show videos in compact mode, one line per video</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
|
@ -2,7 +2,7 @@ import sys
|
||||
|
||||
from twitchdl import twitch
|
||||
from twitchdl.exceptions import ConsoleError
|
||||
from twitchdl.output import print_out, print_paged_videos, print_video, print_json
|
||||
from twitchdl.output import print_out, print_paged_videos, print_video, print_json, print_video_compact
|
||||
|
||||
|
||||
def videos(args):
|
||||
@ -32,8 +32,11 @@ def videos(args):
|
||||
|
||||
count = 0
|
||||
for video in generator:
|
||||
print_out()
|
||||
print_video(video)
|
||||
if args.compact:
|
||||
print_video_compact(video)
|
||||
else:
|
||||
print_out()
|
||||
print_video(video)
|
||||
count += 1
|
||||
|
||||
print_out()
|
||||
|
@ -112,6 +112,11 @@ COMMANDS = [
|
||||
"nargs": "?",
|
||||
"const": 10,
|
||||
}),
|
||||
(["-c", "--compact"], {
|
||||
"help": "Show videos in compact mode, one line per video",
|
||||
"action": "store_true",
|
||||
"default": False,
|
||||
}),
|
||||
],
|
||||
),
|
||||
Command(
|
||||
|
@ -48,6 +48,13 @@ def strip_tags(text):
|
||||
return text
|
||||
|
||||
|
||||
def truncate(string, length):
|
||||
if len(string) > length:
|
||||
return string[:length - 1] + "…"
|
||||
|
||||
return string
|
||||
|
||||
|
||||
def print_out(*args, **kwargs):
|
||||
args = [colorize(a) if USE_ANSI_COLOR else strip_tags(a) for a in args]
|
||||
print(*args, **kwargs)
|
||||
@ -89,6 +96,14 @@ def print_video(video):
|
||||
print_out("<i>{}</i>".format(url))
|
||||
|
||||
|
||||
def print_video_compact(video):
|
||||
id = video["id"]
|
||||
date = video["publishedAt"][:10]
|
||||
game = video["game"]["name"] if video["game"] else ""
|
||||
title = truncate(video["title"], 80).ljust(80)
|
||||
print_out(f'<b>{id}</b> {date} <green>{title}</green> <blue>{game}</blue>')
|
||||
|
||||
|
||||
def print_paged_videos(generator, page_size, total_count):
|
||||
iterator = iter(generator)
|
||||
page = list(islice(iterator, page_size))
|
||||
|
Loading…
Reference in New Issue
Block a user