From da54602a580ca380309db7fa64212f05b764a201 Mon Sep 17 00:00:00 2001 From: yzqzss Date: Mon, 24 Jul 2023 22:43:06 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A6=82=20metadata=20=E4=B8=AD=E5=87=BA?= =?UTF-8?q?=E7=8E=B0=20`\b`=20XML=20=E9=9D=9E=E6=B3=95=E6=8E=A7=E5=88=B6?= =?UTF-8?q?=E5=AD=97=E7=AC=A6=EF=BC=8C=E4=B8=8A=E4=BC=A0=20IA=20=E5=89=8D?= =?UTF-8?q?=E5=88=A0=E6=8E=89=E5=AE=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- biliarchiver/_biliarchiver_upload_bvid.py | 9 +++++++++ biliarchiver/cli_tools/bili_archive_bvids.py | 2 +- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/biliarchiver/_biliarchiver_upload_bvid.py b/biliarchiver/_biliarchiver_upload_bvid.py index 68b4af9..13a632d 100644 --- a/biliarchiver/_biliarchiver_upload_bvid.py +++ b/biliarchiver/_biliarchiver_upload_bvid.py @@ -153,6 +153,15 @@ def _upload_bvid(bvid: str, *, update_existing: bool = False, collection: str): 'originalurl': f'https://www.bilibili.com/video/{bvid}/?p={pid}', 'scanner': f'biliarchiver v{BILI_ARCHIVER_VERSION} (dev)', } + + # XML 中不能有 \b 等特殊控制字符,IA 会拒收。 + # 先只简单删 \b ,如果以后再发现元数据里出现其它非法字符,再说。 + _md_str = json.dumps(md, ensure_ascii=False) + if "\\b" in _md_str: + print("WARNING: \\b in metadata, removing it") + md = json.loads(_md_str.replace("\\b", "")) + del(_md_str) + print(filedict) print(md) diff --git a/biliarchiver/cli_tools/bili_archive_bvids.py b/biliarchiver/cli_tools/bili_archive_bvids.py index 6bbf147..243b84d 100644 --- a/biliarchiver/cli_tools/bili_archive_bvids.py +++ b/biliarchiver/cli_tools/bili_archive_bvids.py @@ -39,7 +39,7 @@ def parse_args(): help='不检查 IA 上是否已存在对应 BVID 的 item ,直接开始下载') parser.add_argument('--fb', '--from-browser', dest='from_browser', type=str, help='从指定浏览器导入 cookies (否则导入 config.json 中的 cookies_file) [default: None]', default=None) parser.add_argument('--min-free-space-gb', dest='min_free_space_gb', type=int, help='最小剩余空间 (GB),用超退出 [default: 10]', default=10) - + args = Args(**vars(parser.parse_args())) return args