From c3b56c1d9a5989959a45a634ccdf46fb0e524048 Mon Sep 17 00:00:00 2001 From: yzqzss Date: Fri, 7 Jul 2023 00:33:21 +0800 Subject: [PATCH] =?UTF-8?q?*=20CLI:=20=E6=8A=8A=20CLI=20=E8=84=9A=E6=9C=AC?= =?UTF-8?q?=E7=A7=BB=E5=8A=A8=E5=88=B0=20cli=5Ftools=20*=20CLI:=20biliarch?= =?UTF-8?q?iver=20=E6=98=BE=E7=A4=BA=E5=8F=AF=E7=94=A8=E5=91=BD=E4=BB=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../{ => cli_tools}/bili_archive_bvids.py | 12 +++++++++++- biliarchiver/{ => cli_tools}/bili_get_bvids.py | 0 biliarchiver/{ => cli_tools}/bili_upload.py | 0 biliarchiver/cli_tools/biliarchiver.py | 15 +++++++++++++++ pyproject.toml | 7 ++++--- 5 files changed, 30 insertions(+), 4 deletions(-) rename biliarchiver/{ => cli_tools}/bili_archive_bvids.py (92%) rename biliarchiver/{ => cli_tools}/bili_get_bvids.py (100%) rename biliarchiver/{ => cli_tools}/bili_upload.py (100%) create mode 100644 biliarchiver/cli_tools/biliarchiver.py diff --git a/biliarchiver/bili_archive_bvids.py b/biliarchiver/cli_tools/bili_archive_bvids.py similarity index 92% rename from biliarchiver/bili_archive_bvids.py rename to biliarchiver/cli_tools/bili_archive_bvids.py index 5d72c42..7bb23b2 100644 --- a/biliarchiver/bili_archive_bvids.py +++ b/biliarchiver/cli_tools/bili_archive_bvids.py @@ -2,6 +2,7 @@ import asyncio import os import argparse from pathlib import Path +import time from typing import Union from internetarchive import get_item @@ -112,7 +113,16 @@ def _main(): while len(asyncio.all_tasks(loop)) > 0: loop.run_until_complete(asyncio.sleep(1)) - +def update_cookies_from_browser(client: AsyncClient, browser: str): + try: + a = time.time() + import browser_cookie3 + f = getattr(browser_cookie3, browser.lower()) + print(f"trying to load cookies from {browser}: bilibili.com, may need auth") + client.cookies.update(f(domain_name="bilibili.com")) + print(f"load complete, consumed time: {time.time() - a} s") + except AttributeError: + raise AttributeError(f"Invalid Browser {browser}") def update_cookies_from_file(client: AsyncClient, cookies_path: Union[str, Path]): if isinstance(cookies_path, Path): diff --git a/biliarchiver/bili_get_bvids.py b/biliarchiver/cli_tools/bili_get_bvids.py similarity index 100% rename from biliarchiver/bili_get_bvids.py rename to biliarchiver/cli_tools/bili_get_bvids.py diff --git a/biliarchiver/bili_upload.py b/biliarchiver/cli_tools/bili_upload.py similarity index 100% rename from biliarchiver/bili_upload.py rename to biliarchiver/cli_tools/bili_upload.py diff --git a/biliarchiver/cli_tools/biliarchiver.py b/biliarchiver/cli_tools/biliarchiver.py new file mode 100644 index 0000000..9ac79eb --- /dev/null +++ b/biliarchiver/cli_tools/biliarchiver.py @@ -0,0 +1,15 @@ +import os + + +def main(): + _tools = os.listdir(os.path.dirname(__file__)) + available_tools = [] + for tool in _tools: + if tool.endswith('.py') and tool != '__init__.py' and tool != 'biliarchiver.py': + available_tools.append(tool[:-3]) + + print("biliarchiver 可用的命令行工具有: (-h 查看帮助)") + print("\n".join(available_tools)) + +if __name__ == '__main__': + main() \ No newline at end of file diff --git a/pyproject.toml b/pyproject.toml index f43561c..d8ce275 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -13,9 +13,10 @@ internetarchive = "^3.5.0" danmakuc = "^0.3.6" [tool.poetry.scripts] -bili_archive_bvids = "biliarchiver:bili_archive_bvids.main" -bili_upload = "biliarchiver:bili_upload.main" -bili_get_bvids = "biliarchiver:bili_get_bvids.main" +bili_archive_bvids = "biliarchiver.cli_tools:bili_archive_bvids.main" +bili_upload = "biliarchiver.cli_tools:bili_upload.main" +bili_get_bvids = "biliarchiver.cli_tools:bili_get_bvids.main" +biliarchiver = "biliarchiver.cli_tools:biliarchiver.main" [build-system]