From 08dc94fbd9862c541f8c3588664cce4f5f640ebe Mon Sep 17 00:00:00 2001 From: yzqzss Date: Fri, 7 Jul 2023 17:53:06 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BD=BF=E7=94=A8=20external-identifier=20?= =?UTF-8?q?=E8=AE=B0=E5=BD=95=20bvid,=20aid,=20mid,=20cid?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- biliarchiver/_biliarchiver_upload_bvid.py | 21 ++++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-) diff --git a/biliarchiver/_biliarchiver_upload_bvid.py b/biliarchiver/_biliarchiver_upload_bvid.py index e1ace71..57ed5ff 100644 --- a/biliarchiver/_biliarchiver_upload_bvid.py +++ b/biliarchiver/_biliarchiver_upload_bvid.py @@ -113,6 +113,14 @@ def _upload_bvid(bvid: str): assert cid is not None assert p_part is not None + aid = bv_info['data']['View']['aid'] + 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}, " + md = { "mediatype": "movies", "collection": 'opensource_movies', @@ -120,12 +128,13 @@ def _upload_bvid(bvid: str): "description": remote_identifier + ' uploading...', 'creator': bv_info['data']['View']['owner']['name'], # UP δΈ» # UTC time - 'date': time.strftime("%Y-%m-%d", time.gmtime(pubdate)), + 'date': time.strftime("%Y-%m-%d %H:%M:%S", time.gmtime(pubdate)), 'year': time.strftime("%Y", time.gmtime(pubdate)), - 'aid': bv_info['data']['View']['aid'], - 'bvid': bvid, - 'cid': cid, - 'mid': bv_info['data']['View']['owner']['mid'], + # 'aid': aid, + # 'bvid': bvid, + # 'cid': cid, + # 'mid': mid, + "external-identifier": external_identifier, "subject": "; ".join( tags ), # Keywords should be separated by ; but it doesn't matter much; the alternative is to set one per field with subject[0], subject[1], ... @@ -162,6 +171,8 @@ def _upload_bvid(bvid: str): new_md.update({"description": bv_info['data']['View']['desc']}) if item.metadata.get("scanner") != md['scanner']: new_md.update({"scanner": md['scanner']}) + if item.metadata.get("external-identifier") != md['external-identifier']: + new_md.update({"external-identifier": md['external-identifier']}) if new_md: print(f"Updating metadata:") print(new_md)