From 2dff8d02014eadceb2590cb8aa3f89daf6d854b9 Mon Sep 17 00:00:00 2001 From: yzqzss Date: Sat, 8 Jul 2023 17:36:16 +0800 Subject: [PATCH] =?UTF-8?q?*=20=E4=BD=BF=E7=94=A8=20list=20=E4=BC=A0?= =?UTF-8?q?=E9=80=92=E5=A4=9A=E5=80=BC=20external-indentifier=20*=20?= =?UTF-8?q?=E4=B8=BA=E6=9C=89=E5=A4=9A=E4=B8=AA=20UP=20=E4=B8=BB=E7=9A=84?= =?UTF-8?q?=E5=90=88=E4=BD=9C=E8=A7=86=E9=A2=91=E6=B7=BB=E5=8A=A0=E5=A4=9A?= =?UTF-8?q?=E4=B8=AA=20mid=20*=20=E8=B7=B3=E8=BF=87=20description=20?= =?UTF-8?q?=E7=A9=BA=E5=80=BC=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- biliarchiver/_biliarchiver_upload_bvid.py | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/biliarchiver/_biliarchiver_upload_bvid.py b/biliarchiver/_biliarchiver_upload_bvid.py index 57ed5ff..0420431 100644 --- a/biliarchiver/_biliarchiver_upload_bvid.py +++ b/biliarchiver/_biliarchiver_upload_bvid.py @@ -2,6 +2,7 @@ import json import os from pathlib import Path import time +from typing import List from internetarchive import get_item from requests import Response from rich import print @@ -114,12 +115,18 @@ def _upload_bvid(bvid: str): assert p_part is not None aid = bv_info['data']['View']['aid'] - mid = bv_info['data']['View']['owner']['mid'] + owner_mid = bv_info['data']['View']['owner']['mid'] - external_identifier = f"urn:bilibili:aid:{aid}, " - external_identifier += f"urn:bilibili:bvid:{bvid}, " - external_identifier += f"urn:bilibili:cid:{cid}, " - external_identifier += f"urn:bilibili:mid:{mid}, " + mids: List[int] = [owner_mid] + if bv_info['data']['View'].get('staff') is not None: + mids = [] # owner_mid 在 staff 也有 + for staff in bv_info['data']['View']['staff']: + mids.append(staff['mid']) if staff['mid'] not in mids else None + external_identifier = [f"urn:bilibili:aid:{aid}", + f"urn:bilibili:bvid:{bvid}", + f"urn:bilibili:cid:{cid}"] + for mid in mids: + external_identifier.append(f"urn:bilibili:mid:{mid}") md = { "mediatype": "movies", @@ -167,7 +174,7 @@ def _upload_bvid(bvid: str): new_md = {} if item.metadata.get("upload-state") != "uploaded": new_md.update({"upload-state": "uploaded"}) - if item.metadata.get("description") != bv_info['data']['View']['desc']: + if item.metadata.get("description", "") != bv_info['data']['View']['desc']: new_md.update({"description": bv_info['data']['View']['desc']}) if item.metadata.get("scanner") != md['scanner']: new_md.update({"scanner": md['scanner']})