结构更改
This commit is contained in:
parent
f6501ca698
commit
ae08a4398a
59
Common.py
59
Common.py
@ -9,9 +9,36 @@ import json
|
|||||||
import threading
|
import threading
|
||||||
from bilibili import *
|
from bilibili import *
|
||||||
|
|
||||||
|
# 默认设置
|
||||||
|
config = {
|
||||||
|
# 录像的主播名
|
||||||
|
"l_u": "永恒de草薙",
|
||||||
|
"b_u": "自己的B站账号",
|
||||||
|
"b_p": "自己的B站密码",
|
||||||
|
# 标题及预留时间位置
|
||||||
|
"t_t": "【永恒de草薙直播录播】直播于 {}",
|
||||||
|
# 标签
|
||||||
|
"tag": ["永恒de草薙", "三国", "三国战记", "直播录像", "录播", "怀旧", "街机"],
|
||||||
|
# 描述
|
||||||
|
"des": "西瓜直播 https://live.ixigua.com/userlive/97621754276 \n自动投递\n原主播:永恒de草薙\n直播时间:晚上6点多到凌晨4点左右",
|
||||||
|
# 来源, 空则为自制
|
||||||
|
"src": "",
|
||||||
|
# Log条数
|
||||||
|
"l_c": 5,
|
||||||
|
# 错误Log条数
|
||||||
|
"elc": 10,
|
||||||
|
"p_s": 2141000000,
|
||||||
|
"max": 75,
|
||||||
|
"exp": 1,
|
||||||
|
"dow": "echo 'clean'",
|
||||||
|
# 仅下载
|
||||||
|
"dlO": True
|
||||||
|
}
|
||||||
|
|
||||||
_config_fp = open("config.json", "r", encoding="utf8")
|
_config_fp = open("config.json", "r", encoding="utf8")
|
||||||
config = json.load(_config_fp)
|
_config = json.load(_config_fp)
|
||||||
_config_fp.close()
|
_config_fp.close()
|
||||||
|
del _config_fp
|
||||||
doCleanTime = datetime.now()
|
doCleanTime = datetime.now()
|
||||||
_clean_flag = None
|
_clean_flag = None
|
||||||
|
|
||||||
@ -59,18 +86,10 @@ def getTimeDelta(a, b):
|
|||||||
def _doClean(_force=False):
|
def _doClean(_force=False):
|
||||||
global doCleanTime, _clean_flag
|
global doCleanTime, _clean_flag
|
||||||
_disk = psutil.disk_usage(".")
|
_disk = psutil.disk_usage(".")
|
||||||
if (_disk.percent > config["max"] and getTimeDelta(datetime.now(), doCleanTime) > 7200) or _force:
|
if (_disk.percent > config["max"] and getTimeDelta(datetime.now(), doCleanTime) > config["exp"]*86400) or _force:
|
||||||
doCleanTime = datetime.now()
|
|
||||||
_list = sorted(glob("*.flv"), key=lambda x: datetime.utcfromtimestamp(os.path.getmtime(x)))
|
|
||||||
for _i in _list:
|
|
||||||
if not os.path.exists(_i):
|
|
||||||
break
|
|
||||||
doCleanTime = datetime.now()
|
|
||||||
if (datetime.now() - datetime.utcfromtimestamp(os.path.getmtime(_i))).days >= config["exp"]:
|
|
||||||
_clean_flag = True
|
_clean_flag = True
|
||||||
|
doCleanTime = datetime.now()
|
||||||
os.system(config["dow"])
|
os.system(config["dow"])
|
||||||
else:
|
|
||||||
break
|
|
||||||
doCleanTime = datetime.now()
|
doCleanTime = datetime.now()
|
||||||
_clean_flag = False
|
_clean_flag = False
|
||||||
|
|
||||||
@ -114,9 +133,10 @@ def getCurrentStatus():
|
|||||||
|
|
||||||
|
|
||||||
def reloadConfig():
|
def reloadConfig():
|
||||||
global config, _config_fp
|
global config
|
||||||
_config_fp = open("config.json", "r", encoding="utf8")
|
_config_fp = open("config.json", "r", encoding="utf8")
|
||||||
config = json.load(_config_fp)
|
_config = json.load(_config_fp)
|
||||||
|
config.update(_config)
|
||||||
_config_fp.close()
|
_config_fp.close()
|
||||||
|
|
||||||
|
|
||||||
@ -131,6 +151,9 @@ forceNotDownload = False
|
|||||||
forceNotBroadcasting = False
|
forceNotBroadcasting = False
|
||||||
forceNotUpload = False
|
forceNotUpload = False
|
||||||
forceNotEncode = False
|
forceNotEncode = False
|
||||||
|
if config["dlO"] is True:
|
||||||
|
forceNotUpload = True
|
||||||
|
forceNotEncode = True
|
||||||
forceStartEncodeThread = False
|
forceStartEncodeThread = False
|
||||||
forceStartUploadThread = False
|
forceStartUploadThread = False
|
||||||
|
|
||||||
@ -260,6 +283,7 @@ def appendError(obj):
|
|||||||
|
|
||||||
|
|
||||||
def loginBilibili():
|
def loginBilibili():
|
||||||
|
if "dlO" not in config or config["dlO"] is False or forceNotUpload is False:
|
||||||
res = b.login(config["b_u"], config["b_p"])
|
res = b.login(config["b_u"], config["b_p"])
|
||||||
appendOperation("登陆账号,结果为:[{}]".format(res))
|
appendOperation("登陆账号,结果为:[{}]".format(res))
|
||||||
|
|
||||||
@ -328,10 +352,17 @@ def refreshDownloader():
|
|||||||
|
|
||||||
|
|
||||||
def uploadVideo(name):
|
def uploadVideo(name):
|
||||||
|
if forceNotUpload is False:
|
||||||
b.preUpload(VideoPart(name, os.path.basename(name)))
|
b.preUpload(VideoPart(name, os.path.basename(name)))
|
||||||
|
else:
|
||||||
|
appendUploadStatus("设置了不上传,所以[{}]不会上传了".format(name))
|
||||||
|
if not Common.forceNotEncode:
|
||||||
|
os.remove(name)
|
||||||
|
|
||||||
def publishVideo(date):
|
def publishVideo(date):
|
||||||
|
if forceNotUpload is False:
|
||||||
b.finishUpload(config["t_t"].format(date), 17, config["tag"], config["des"],
|
b.finishUpload(config["t_t"].format(date), 17, config["tag"], config["des"],
|
||||||
source=config["src"], no_reprint=0)
|
source=config["src"], no_reprint=0)
|
||||||
b.clear()
|
b.clear()
|
||||||
|
else:
|
||||||
|
appendUploadStatus("设置了不上传,所以[{}]的录播不会上传了".format(date))
|
||||||
|
@ -84,13 +84,6 @@ def upload():
|
|||||||
i = Common.uploadQueue.get()
|
i = Common.uploadQueue.get()
|
||||||
while True:
|
while True:
|
||||||
Common.doClean()
|
Common.doClean()
|
||||||
if Common.forceNotUpload:
|
|
||||||
if isinstance(i, bool):
|
|
||||||
Common.appendUploadStatus("设置了不上传,不会发布了")
|
|
||||||
break
|
|
||||||
else:
|
|
||||||
Common.appendUploadStatus("设置了不上传,所以[{}]不会上传了".format(i))
|
|
||||||
else:
|
|
||||||
if isinstance(i, bool):
|
if isinstance(i, bool):
|
||||||
if i is True:
|
if i is True:
|
||||||
Common.publishVideo(date)
|
Common.publishVideo(date)
|
||||||
@ -103,8 +96,7 @@ def upload():
|
|||||||
except Exception as e:
|
except Exception as e:
|
||||||
Common.appendError(e.__str__())
|
Common.appendError(e.__str__())
|
||||||
continue
|
continue
|
||||||
if not Common.forceNotEncode:
|
|
||||||
os.remove(i)
|
|
||||||
i = Common.uploadQueue.get()
|
i = Common.uploadQueue.get()
|
||||||
Common.appendUploadStatus("Upload Daemon Quiting")
|
Common.appendUploadStatus("Upload Daemon Quiting")
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user