support change while running
This commit is contained in:
parent
16c68e5ceb
commit
ce819185eb
10
Common.py
10
Common.py
@ -6,6 +6,14 @@ import json
|
|||||||
|
|
||||||
_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()
|
||||||
|
|
||||||
|
|
||||||
|
def reloadConfig():
|
||||||
|
global config, _config_fp
|
||||||
|
_config_fp = open("config.json", "r", encoding="utf8")
|
||||||
|
config = json.load(_config_fp)
|
||||||
|
_config_fp.close()
|
||||||
|
|
||||||
dt_format="%Y/%m/%d %H:%M:%S"
|
dt_format="%Y/%m/%d %H:%M:%S"
|
||||||
|
|
||||||
@ -14,6 +22,8 @@ streamUrl = ""
|
|||||||
isBroadcasting = False
|
isBroadcasting = False
|
||||||
updateTime = ""
|
updateTime = ""
|
||||||
|
|
||||||
|
forceStopDownload = False
|
||||||
|
|
||||||
uploadQueue = queue.Queue()
|
uploadQueue = queue.Queue()
|
||||||
encodeQueue = queue.Queue()
|
encodeQueue = queue.Queue()
|
||||||
|
|
||||||
|
25
WebMain.py
25
WebMain.py
@ -8,8 +8,8 @@ from liveDownloader import run as RUN
|
|||||||
app = Flask("liveStatus")
|
app = Flask("liveStatus")
|
||||||
app.config['JSON_AS_ASCII'] = False
|
app.config['JSON_AS_ASCII'] = False
|
||||||
CORS(app, supports_credentials=True)
|
CORS(app, supports_credentials=True)
|
||||||
url_for('static', filename='index.html')
|
# url_for('static', filename='index.html')
|
||||||
url_for('static', filename='index.js')
|
# url_for('static', filename='index.js')
|
||||||
|
|
||||||
|
|
||||||
@app.route("/")
|
@app.route("/")
|
||||||
@ -29,9 +29,30 @@ def readConfig():
|
|||||||
@app.route("/config", methods=["POST"])
|
@app.route("/config", methods=["POST"])
|
||||||
def writeConfig():
|
def writeConfig():
|
||||||
# TODO : 完善
|
# TODO : 完善
|
||||||
|
Common.reloadConfig()
|
||||||
return jsonify({"message":"ok","code":200,"status":0,"data":request.form})
|
return jsonify({"message":"ok","code":200,"status":0,"data":request.form})
|
||||||
|
|
||||||
|
|
||||||
|
@app.route("/encode/insert", methods=["POST"])
|
||||||
|
def insertEncode():
|
||||||
|
if "filename" in request.form:
|
||||||
|
Common.encodeQueue.put(request.form["filename"])
|
||||||
|
return jsonify({"message":"ok","code":200,"status":0})
|
||||||
|
|
||||||
|
|
||||||
|
@app.route("/upload/insert", methods=["POST"])
|
||||||
|
def insertUpload():
|
||||||
|
if "filename" in request.form:
|
||||||
|
Common.uploadQueue.put(request.form["filename"])
|
||||||
|
return jsonify({"message":"ok","code":200,"status":0})
|
||||||
|
|
||||||
|
|
||||||
|
@app.route("/upload/finish", methods=["POST"])
|
||||||
|
def finishUpload():
|
||||||
|
Common.uploadQueue.put(True)
|
||||||
|
return jsonify({"message":"ok","code":200,"status":0})
|
||||||
|
|
||||||
|
|
||||||
@app.route("/stats", methods=["GET"])
|
@app.route("/stats", methods=["GET"])
|
||||||
def getAllStats():
|
def getAllStats():
|
||||||
return jsonify({"message":"ok","code":200,"status":0,"data":{
|
return jsonify({"message":"ok","code":200,"status":0,"data":{
|
||||||
|
@ -313,6 +313,7 @@ class Bilibili:
|
|||||||
"""
|
"""
|
||||||
if len(self.videos) == 0:
|
if len(self.videos) == 0:
|
||||||
return
|
return
|
||||||
|
appendUploadStatus("[{}]投稿中,请稍后".format(title))
|
||||||
self.session.headers['Content-Type'] = 'application/json; charset=utf-8'
|
self.session.headers['Content-Type'] = 'application/json; charset=utf-8'
|
||||||
copyright = 2 if source else 1
|
copyright = 2 if source else 1
|
||||||
r = self.session.post('https://member.bilibili.com/x/vu/web/add?csrf=' + self.csrf,
|
r = self.session.post('https://member.bilibili.com/x/vu/web/add?csrf=' + self.csrf,
|
||||||
|
@ -13,7 +13,7 @@ isDownload = False
|
|||||||
|
|
||||||
|
|
||||||
def download(url):
|
def download(url):
|
||||||
global isDownload
|
global isDownload, forceStopDownload
|
||||||
path = datetime.strftime(datetime.now(), "%Y%m%d_%H%M.flv")
|
path = datetime.strftime(datetime.now(), "%Y%m%d_%H%M.flv")
|
||||||
p = requests.get(url, stream=True)
|
p = requests.get(url, stream=True)
|
||||||
if p.status_code != 200:
|
if p.status_code != 200:
|
||||||
@ -28,7 +28,7 @@ def download(url):
|
|||||||
f.write(t)
|
f.write(t)
|
||||||
_size = os.path.getsize(path)
|
_size = os.path.getsize(path)
|
||||||
modifyLastDownloadStatus("Download >{}< @ {:.2f}%".format(path, 100.0 * _size/config["p_s"]))
|
modifyLastDownloadStatus("Download >{}< @ {:.2f}%".format(path, 100.0 * _size/config["p_s"]))
|
||||||
if _size > config["p_s"]:
|
if _size > config["p_s"] or forceStopDownload:
|
||||||
break
|
break
|
||||||
modifyLastDownloadStatus("Finished Download >{}<".format(path))
|
modifyLastDownloadStatus("Finished Download >{}<".format(path))
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
@ -40,7 +40,9 @@ def download(url):
|
|||||||
os.remove(path)
|
os.remove(path)
|
||||||
return False
|
return False
|
||||||
encodeQueue.put(path)
|
encodeQueue.put(path)
|
||||||
|
if forceStopDownload:
|
||||||
download(url)
|
download(url)
|
||||||
|
forceStopDownload = False
|
||||||
|
|
||||||
|
|
||||||
def encode():
|
def encode():
|
||||||
@ -65,7 +67,6 @@ def upload(date=datetime.strftime(datetime.now(), "%Y_%m_%d")):
|
|||||||
while True:
|
while True:
|
||||||
if isinstance(i, bool):
|
if isinstance(i, bool):
|
||||||
if i is True:
|
if i is True:
|
||||||
appendUploadStatus("[{}]自动投稿中,请稍后".format(config["t_t"].format(date)))
|
|
||||||
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()
|
||||||
|
Reference in New Issue
Block a user