优化检测升级的下载逻辑
This commit is contained in:
parent
3dc2618c96
commit
cf82c6f39b
@ -37,6 +37,7 @@ OCR_API = 'https://api.nn.ci/ocr/b64/text' # 验证码识别接口,传参数dat
|
||||
UNAME = 'admin' # 管理员账号
|
||||
PWD = 'drpy' # 管理员密码
|
||||
USE_PY = 0 # 开启py源
|
||||
FORCE_UP = 1 # 带进度条下载失败后强制下载
|
||||
JS0_DISABLE = 0 # 禁用js0
|
||||
JS0_PASSWORD = '' # js0密码
|
||||
JS_MODE = 0 # js模式 0 drpy服务器解析 1 pluto本地解析
|
||||
|
||||
@ -43,13 +43,14 @@ def admin_index(): # 管理员界面
|
||||
lsg = storage_service()
|
||||
live_url = lsg.getItem('LIVE_URL')
|
||||
use_py = lsg.getItem('USE_PY')
|
||||
force_up = lsg.getItem('FORCE_UP')
|
||||
js0_password = lsg.getItem('JS0_PASSWORD')
|
||||
# print(f'live_url:', live_url)
|
||||
rules = getRules('js')
|
||||
# print(rules)
|
||||
cache_count = getCacheCount()
|
||||
# print(cache_count)
|
||||
return render_template('admin.html', js0_password=js0_password, pystate=use_py, rules=rules,
|
||||
return render_template('admin.html', js0_password=js0_password, pystate=use_py,force_up=force_up, rules=rules,
|
||||
cache_count=cache_count, ver=getLocalVer(), live_url=live_url)
|
||||
|
||||
|
||||
@ -215,7 +216,8 @@ def admin_update_ver():
|
||||
return R.failed('请登录后再试')
|
||||
lsg = storage_service()
|
||||
update_proxy = lsg.getItem('UPDATE_PROXY')
|
||||
msg = download_new_version(update_proxy)
|
||||
force_up = lsg.getItem('FORCE_UP')
|
||||
msg = download_new_version(update_proxy,force_up)
|
||||
return R.success(msg)
|
||||
|
||||
|
||||
@ -365,6 +367,18 @@ def admin_change_use_py():
|
||||
msg = f'已修改的配置记录id为:{id},结果为{state}'
|
||||
return R.success(msg)
|
||||
|
||||
@admin.route('/change_force_up')
|
||||
def admin_change_force_up():
|
||||
if not verfy_token():
|
||||
return R.failed('请登录后再试')
|
||||
lsg = storage_service()
|
||||
force_up = lsg.getItem('FORCE_UP')
|
||||
new_force_up = '' if force_up else '1'
|
||||
state = '开启' if new_force_up else '关闭'
|
||||
id = lsg.setItem('FORCE_UP', new_force_up)
|
||||
msg = f'已修改的配置记录id为:{id},结果为{state}'
|
||||
return R.success(msg)
|
||||
|
||||
|
||||
@admin.route('/clear_drop')
|
||||
def admin_clear_drop():
|
||||
|
||||
@ -22,7 +22,7 @@ class storage_service(object):
|
||||
return copy_utils.obj_to_list(res)
|
||||
|
||||
def __init__(self):
|
||||
conf_list = ['LIVE_URL', 'USE_PY', 'JS_MODE', 'JS0_DISABLE', 'JS0_PASSWORD', 'PLAY_URL', 'PLAY_DISABLE',
|
||||
conf_list = ['LIVE_URL', 'USE_PY', 'FORCE_UP', 'JS_MODE', 'JS0_DISABLE', 'JS0_PASSWORD', 'PLAY_URL', 'PLAY_DISABLE',
|
||||
'LAZYPARSE_MODE', 'WALL_PAPER_ENABLE',
|
||||
'WALL_PAPER', 'UNAME', 'PWD', 'LIVE_MODE', 'CATE_EXCLUDE', 'TAB_EXCLUDE', 'SEARCH_TIMEOUT',
|
||||
'SEARCH_LIMIT', 'MULTI_MODE', 'XR_MODE', 'JS_PROXY', 'UPDATE_PROXY', 'ENV', 'ALI_TOKEN', 'OCR_API',
|
||||
@ -35,12 +35,12 @@ class storage_service(object):
|
||||
@classmethod
|
||||
def getStoreConf(self):
|
||||
# MAX_CONTENT_LENGTH 最大上传和端口ip一样是顶级配置,无法外部修改的
|
||||
conf_list = ['LIVE_URL', 'LIVE_MODE', 'PLAY_URL', 'PID_URL', 'USE_PY', 'JS_MODE', 'JS0_DISABLE', 'JS0_PASSWORD',
|
||||
conf_list = ['LIVE_URL', 'LIVE_MODE', 'PLAY_URL', 'PID_URL', 'USE_PY', 'FORCE_UP','JS_MODE', 'JS0_DISABLE', 'JS0_PASSWORD',
|
||||
'PLAY_DISABLE', 'LAZYPARSE_MODE', 'WALL_PAPER_ENABLE',
|
||||
'WALL_PAPER', 'UNAME', 'PWD', 'CATE_EXCLUDE', 'TAB_EXCLUDE', 'SEARCH_TIMEOUT', 'SEARCH_LIMIT',
|
||||
'MULTI_MODE', 'XR_MODE', 'JS_PROXY', 'UPDATE_PROXY', 'ENV', 'SPECIAL', 'SPIDER_JAR',
|
||||
'EXT_FUNC', 'JS_MAX_LENGTH', 'ALI_TOKEN', 'OCR_API']
|
||||
conf_name_list = ['直播地址', '直播模式', '远程地址', '进程管理链接', '启用py源', 'js模式', '禁用js0',
|
||||
conf_name_list = ['直播地址', '直播模式', '远程地址', '进程管理链接', '启用py源','强制下载', 'js模式', '禁用js0',
|
||||
'js0密码', '禁用免嗅', '免嗅模式', '启用壁纸', '壁纸链接', '管理账号',
|
||||
'管理密码', '分类排除', '线路排除', '聚搜超时', '搜索条数', '多源模式', '仙人模式', '源代理',
|
||||
'升级代理', '环境变量', '优选源', '挂载JAR', '辅助规则', '源体积', '阿里tk', 'OCR接口']
|
||||
|
||||
@ -1,3 +1,5 @@
|
||||
###### 2023/11/23
|
||||
- [X] 3.9.49beta6 检测升级逻辑优化,增加强制下载逻辑开关
|
||||
###### 2023/11/22
|
||||
- [X] 3.9.49beta1 增加网页直播功能
|
||||
- [X] 3.9.49beta2 修复post搜索兼容性。带#传递搜索参数将不再处理[]逻辑
|
||||
|
||||
@ -1 +1 @@
|
||||
3.9.49beta5
|
||||
3.9.49beta6
|
||||
@ -275,6 +275,20 @@
|
||||
});
|
||||
});
|
||||
|
||||
$('#force_up').click(function () {
|
||||
$.get("/admin/change_force_up", function (data, status) {
|
||||
console.log(data);
|
||||
if (data.code === 200) {
|
||||
alert(data.msg);
|
||||
location.reload();
|
||||
} else {
|
||||
alert(data.msg);
|
||||
console.log('升级失败了...');
|
||||
return false
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
$("#logtail").click(function () {
|
||||
location.href = '/admin/logtail';
|
||||
});
|
||||
@ -352,6 +366,7 @@
|
||||
<li><a href="javascript:void(0);" class="funcbtn" id="checkUpdate">检测升级</a></li>
|
||||
<li><a href="javascript:void(0);" class="funcbtn" id="force_update">强制升级</a></li>
|
||||
<li><a href="javascript:void(0);" class="funcbtn" id="choose_update">手动升级</a></li>
|
||||
<li><a href="javascript:void(0);" class="funcbtn" id="force_up">已{% if force_up=='1' %}启用{% else %}关闭{% endif %}强制下载</a></li>
|
||||
<input type="file" id="fileInput" accept=".zip,.rar" style="display:none;">
|
||||
</ul>
|
||||
</li>
|
||||
|
||||
@ -198,7 +198,7 @@ def copy_to_update():
|
||||
return True
|
||||
|
||||
|
||||
def download_new_version(update_proxy='https://ghproxy.liuzhicong.com/'):
|
||||
def download_new_version(update_proxy='https://ghproxy.liuzhicong.com/',force_up=False):
|
||||
update_proxy = (update_proxy or '').strip()
|
||||
logger.info(f'update_proxy:{update_proxy}')
|
||||
t1 = getTime()
|
||||
@ -218,17 +218,17 @@ def download_new_version(update_proxy='https://ghproxy.liuzhicong.com/'):
|
||||
logger.info(f'开始下载:{url}')
|
||||
download_path = os.path.join(tmp_path, 'dr_py.zip')
|
||||
|
||||
# r = requests.get(url, headers=headers, timeout=(20, 20), verify=False)
|
||||
# rb = r.content
|
||||
# # 保存文件前清空目录
|
||||
# del_file(tmp_path)
|
||||
# with open(download_path,mode='wb+') as f:
|
||||
# f.write(rb)
|
||||
|
||||
# 2023/11/18 改为带进度条的下载
|
||||
download_ok = file_downloads([{'url': url, 'name': 'dr_py.zip'}], tmp_path)
|
||||
if not download_ok:
|
||||
return '带进度条的下载升级文件失败。具体参考后台日志'
|
||||
if not download_ok and not force_up:
|
||||
return '带进度条的下载升级文件失败,并没有启用强制下载功能。具体参考后台日志'
|
||||
elif not download_ok and force_up:
|
||||
r = requests.get(url, headers=headers, timeout=(20, 20), verify=False)
|
||||
rb = r.content
|
||||
# 保存文件前清空目录
|
||||
del_file(tmp_path)
|
||||
with open(download_path,mode='wb+') as f:
|
||||
f.write(rb)
|
||||
|
||||
# print(f'开始解压文件:{download_path}')
|
||||
logger.info(f'开始解压文件:{download_path}')
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user