mirror of
https://github.com/saveweb/biliarchiver.git
synced 2024-09-19 11:05:28 -07:00
* 使用 list 传递多值 external-indentifier
* 为有多个 UP 主的合作视频添加多个 mid * 跳过 description 空值更新
This commit is contained in:
parent
08dc94fbd9
commit
2dff8d0201
@ -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']})
|
||||
|
Loading…
Reference in New Issue
Block a user