From bb4979b4ea05f4ec736e488a43010a06ded904b3 Mon Sep 17 00:00:00 2001 From: yzqzss Date: Wed, 7 Jun 2023 12:52:20 +0800 Subject: [PATCH] =?UTF-8?q?bili=5Fupload:=20=E5=8F=AF=E4=BB=A5=E4=BB=8E=20?= =?UTF-8?q?bvids.txt=20=E8=AF=BB=20bvid?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- biliarchiver/bili_archive_bvids.py | 2 +- biliarchiver/bili_uploade.py | 46 ++++++++++++++++++++++++++---- 2 files changed, 41 insertions(+), 7 deletions(-) diff --git a/biliarchiver/bili_archive_bvids.py b/biliarchiver/bili_archive_bvids.py index 9df8f54..f011dad 100644 --- a/biliarchiver/bili_archive_bvids.py +++ b/biliarchiver/bili_archive_bvids.py @@ -30,7 +30,7 @@ def parse_args(): parser.add_argument('--bvids', dest='bvids', type=str, help='bvids 列表的文件路径', required=True) parser.add_argument('-s', '--skip-ia-check', dest='skip_ia', action='store_true', help='不检查 IA 上是否已存在对应 BVID 的 item ,直接开始下载') - parser.parse_args() + args = Args(**vars(parser.parse_args())) return args diff --git a/biliarchiver/bili_uploade.py b/biliarchiver/bili_uploade.py index c2597f7..945c5f9 100644 --- a/biliarchiver/bili_uploade.py +++ b/biliarchiver/bili_uploade.py @@ -1,14 +1,48 @@ +import os +import argparse +from dataclasses import dataclass +from pathlib import Path + from biliarchiver._biliarchiver_upload_bvid import upload_bvid from biliarchiver.config import config -import os + +@dataclass +class Args: + bvids: str + by_storage_home_dir: bool + + +def parse_args(): + parser = argparse.ArgumentParser() + bvids_file_group = parser.add_argument_group() + bvids_file_group.title = 'bvids' + bvids_file_group.add_argument('--bvids', type=str, dest='bvids', + help='bvids 列表的文件路径') + storage_home_dir_group = parser.add_argument_group() + storage_home_dir_group.title = 'storage_home_dir' + storage_home_dir_group.add_argument('--by-storage_home_dir', action='store_true', dest='by_storage_home_dir', + help='从 config.json 中读取 storage_home_dir,然后上传 storage_home_dir/videos 下的所有视频') + + args = Args(**vars(parser.parse_args())) + + return args def main(): - for bvid_with_upper_part in os.listdir(config.storage_home_dir / 'videos'): - bvid = bvid_with_upper_part - if '-' in bvid_with_upper_part: - bvid = bvid_with_upper_part.split('-')[0] + args = parse_args() + if args.by_storage_home_dir: + for bvid_with_upper_part in os.listdir(config.storage_home_dir / 'videos'): + bvid = bvid_with_upper_part + if '-' in bvid_with_upper_part: + bvid = bvid_with_upper_part.split('-')[0] - upload_bvid(bvid) + upload_bvid(bvid) + + if args.bvids: + with open(args.bvids, 'r', encoding='utf-8') as f: + bvids_from_file = f.read().splitlines() + for bvid in bvids_from_file: + + upload_bvid(bvid) if __name__ == '__main__': main() \ No newline at end of file