diff --git a/biliarchiver/cli_tools/bili_archive_bvids.py b/biliarchiver/cli_tools/bili_archive_bvids.py index 288d7cf..e66ef92 100644 --- a/biliarchiver/cli_tools/bili_archive_bvids.py +++ b/biliarchiver/cli_tools/bili_archive_bvids.py @@ -2,7 +2,7 @@ import asyncio from io import TextIOWrapper import os from pathlib import Path -from typing import List, Union +from typing import List, Optional, Union from biliarchiver.archive_bvid import archive_bvid from biliarchiver.config import config @@ -61,11 +61,11 @@ def check_ia_item_exist(client: Client, identifier: str) -> bool: def _down( - bvids: TextIOWrapper, + bvids: Union[Path, str, List[str]], skip_ia_check: bool, - from_browser: str | None, + from_browser: Optional[str], min_free_space_gb: int, - skip: int, + skip_to: int, ): assert check_ffmpeg() is True, "ffmpeg 未安装" @@ -128,11 +128,11 @@ def _down( raise RuntimeError(f"剩余空间不足 {min_free_space_gb} GiB") for index, bvid in enumerate(bvids_from_file): - if index < skip: + if index < skip_to: print(f"跳过 {bvid} ({index+1}/{len(bvids_from_file)})", end="\r") continue tasks_check() - if not skip: + if not skip_ia_check: upper_part = human_readable_upper_part_map( string=bvid, backward=True) remote_identifier = f"{BILIBILI_IDENTIFIER_PERFIX}-{bvid}_p1-{upper_part}" diff --git a/biliarchiver/cli_tools/down_command.py b/biliarchiver/cli_tools/down_command.py index feb2a1c..176b2f7 100644 --- a/biliarchiver/cli_tools/down_command.py +++ b/biliarchiver/cli_tools/down_command.py @@ -1,40 +1,40 @@ -import click -from rich.console import Console - - -@click.command(help=click.style("从哔哩哔哩下载", fg="cyan")) -@click.option("--bvids", type=click.File(), required=True, help="bvids 列表的文件路径") -@click.option( - "--skip-ia-check", - "-s", - is_flag=True, - default=False, - show_default=True, - help="不检查 IA 上是否已存在对应 BVID 的 item ,直接开始下载", -) -@click.option( - "--from-browser", - "--fb", - type=str, - default=None, - help="从指定浏览器导入 cookies (否则导入 config.json 中的 cookies_file)", -) -@click.option( - "--min-free-space-gb", - type=int, - default=10, - help="最小剩余空间 (GB),用超退出", - show_default=True, -) -@click.option("--skip", type=int, default=0, show_default=True, help="跳过文件开头 bvid 的个数") -def down(**kwargs): - from biliarchiver.cli_tools.bili_archive_bvids import _down - - try: - _down(**kwargs) - except KeyboardInterrupt: - print("KeyboardInterrupt") - finally: - # 显示终端光标 - console = Console() - console.show_cursor() +import click +from rich.console import Console + + +@click.command(help=click.style("从哔哩哔哩下载", fg="cyan")) +@click.option("--bvids", type=click.File(), required=True, help="bvids 列表的文件路径") +@click.option( + "--skip-ia-check", + "-s", + is_flag=True, + default=False, + show_default=True, + help="不检查 IA 上是否已存在对应 BVID 的 item ,直接开始下载", +) +@click.option( + "--from-browser", + "--fb", + type=str, + default=None, + help="从指定浏览器导入 cookies (否则导入 config.json 中的 cookies_file)", +) +@click.option( + "--min-free-space-gb", + type=int, + default=10, + help="最小剩余空间 (GB),用超退出", + show_default=True, +) +@click.option("--skip-to", type=int, default=0, show_default=True, help="跳过文件开头 bvid 的个数") +def down(**kwargs): + from biliarchiver.cli_tools.bili_archive_bvids import _down + + try: + _down(**kwargs) + except KeyboardInterrupt: + print("KeyboardInterrupt") + finally: + # 显示终端光标 + console = Console() + console.show_cursor()