From ca1273ed8c150065bcd8c17d184132b37e7d3b31 Mon Sep 17 00:00:00 2001 From: Ovler Date: Tue, 29 Aug 2023 12:30:41 +0800 Subject: [PATCH] feat: Add `config` command to `biliarchiver.py` in `cli_tools` directory --- biliarchiver/cli_tools/biliarchiver.py | 2 ++ biliarchiver/cli_tools/conf_command.py | 24 ++++++++++++++++++++++++ 2 files changed, 26 insertions(+) create mode 100644 biliarchiver/cli_tools/conf_command.py diff --git a/biliarchiver/cli_tools/biliarchiver.py b/biliarchiver/cli_tools/biliarchiver.py index a5b574b..869c898 100644 --- a/biliarchiver/cli_tools/biliarchiver.py +++ b/biliarchiver/cli_tools/biliarchiver.py @@ -3,6 +3,7 @@ from biliarchiver.i18n import _ from biliarchiver.cli_tools.up_command import up from biliarchiver.cli_tools.down_command import down from biliarchiver.cli_tools.get_command import get +from biliarchiver.cli_tools.conf_command import config from biliarchiver.version import BILI_ARCHIVER_VERSION @@ -58,6 +59,7 @@ def init(): biliarchiver.add_command(up) biliarchiver.add_command(down) biliarchiver.add_command(get) +biliarchiver.add_command(config) @biliarchiver.command(help=click.style(_("配置账号信息"), fg="cyan")) diff --git a/biliarchiver/cli_tools/conf_command.py b/biliarchiver/cli_tools/conf_command.py new file mode 100644 index 0000000..20f190b --- /dev/null +++ b/biliarchiver/cli_tools/conf_command.py @@ -0,0 +1,24 @@ +import click + +from dataclasses import dataclass +import os +import json +from pathlib import Path +from biliarchiver.i18n import _ +from biliarchiver.config import _Config + +@click.command(help=click.style(_("将传入参数写入配置文件"), fg="cyan")) +@click.option("--video_concurrency", "-v", type=click.INT, default=None, help=_("视频下载并发数")) +@click.option("--part_concurrency", "-p", type=click.INT, default=None, help=_("分P下载并发数")) +@click.option("--stream_retry", "-r", type=click.INT, default=None, help=_("流下载重试次数")) +@click.option("--storage_home_dir", "-s", type=click.STRING, default=None, help=_("存储目录")) +@click.option("--ia_key_file", "-i", type=click.STRING, default=None, help=_("IA key文件")) +@click.option("--cookies_file", "-c", type=click.STRING, default=None, help=_("cookies文件")) + +def config(**kwargs): + config = _Config() + for k, v in kwargs.items(): + if v is not None: + setattr(config, k, v) + config.save() + print(_("配置文件写入成功")) \ No newline at end of file