支持api获取状态

This commit is contained in:
2019-04-07 15:30:57 +08:00
committed by JerryYan
parent f8d4be5385
commit b9b0994f4c
6 changed files with 300 additions and 106 deletions

View File

@ -4,7 +4,7 @@ import os
import re
import json as JSON
from datetime import datetime
from Common import appendUploadStatus, modifyLastUploadStatus
import rsa
import math
import base64
@ -195,7 +195,6 @@ class Bilibili:
:param parts: e.g. VideoPart('part path', 'part title', 'part desc'), or [VideoPart(...), VideoPart(...)]
:type parts: VideoPart or list<VideoPart>
"""
self.session.headers['Content-Type'] = 'application/json; charset=utf-8'
if not isinstance(parts, list):
parts = [parts]
@ -238,7 +237,7 @@ class Bilibili:
# {"upload_id":"72eb747b9650b8c7995fdb0efbdc2bb6","key":"\/i181012ws2wg1tb7tjzswk2voxrwlk1u.mp4","OK":1,"bucket":"ugc"}
json = r.json()
upload_id = json['upload_id']
appendUploadStatus("Upload >{}< Started".format(filepath))
with open(filepath, 'rb') as f:
chunks_num = math.ceil(filesize / chunk_size)
chunks_index = 0
@ -263,10 +262,9 @@ class Bilibili:
)
if r.status_code != 200:
continue
print('{} : UPLOAD {}/{}'.format(datetime.strftime(datetime.now(), "%y%m%d %H%M"), chunks_index,
chunks_num), r.text)
chunks_data = f.read(chunk_size)
chunks_index += 1 # start with 0
modifyLastUploadStatus("Uploading >{}< @ {:.2f}%".format(filepath, 100.0*chunks_index/chunks_num))
# NOT DELETE! Refer to https://github.com/comwrg/bilibiliupload/issues/15#issuecomment-424379769
self.session.post('https:{endpoint}/{upos_uri}?'
@ -282,6 +280,7 @@ class Bilibili:
self.videos.append({'filename': upos_uri.replace('upos://ugc/', '').split('.')[0],
'title': part.title,
'desc': part.desc})
modifyLastUploadStatus("Upload >{}< Finished".format(filepath))
__f = open("uploaded.json","w")
JSON.dump(self.videos, __f)
@ -330,21 +329,21 @@ class Bilibili:
"order_id": 0,
"videos": self.videos}
)
print(r.text)
appendUploadStatus(">{}< Published | Result : {}".format(title, r.text))
def reloadFromPrevious(self):
if os.path.exists("uploaded.json"):
__f = open("uploaded.json", "r")
try:
self.videos = JSON.load(__f)
print("RELOAD Success")
appendUploadStatus("RELOAD SUCCESS")
except:
print("RELOAD Failed")
appendUploadStatus("RELOAD Failed")
self.videos = []
__f.close()
os.remove("uploaded.json")
else:
print("RELOAD Failed")
appendUploadStatus("RELOAD Failed")
self.videos = []
def clear(self):