fix: cli --skip-to

This commit is contained in:
yzqzss 2023-08-11 01:54:01 +08:00
parent 358a22ae62
commit f1b8019216
2 changed files with 46 additions and 46 deletions

View File

@ -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}"

View File

@ -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()