mirror of
https://github.com/saveweb/biliarchiver.git
synced 2024-09-19 11:05:28 -07:00
fix: cli --skip-to
This commit is contained in:
parent
358a22ae62
commit
f1b8019216
@ -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}"
|
||||
|
@ -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()
|
||||
|
Loading…
Reference in New Issue
Block a user