相似备注检查跳过自身;格式化用户模板提交之数据 (#1157)

* 相似备注检查跳过自身;格式化用户模板提交之数据

* fix

* 更新配置文件模板
This commit is contained in:
XuanRan_Nyan authored and GitHub committed 2025-02-07 12:59:42 +00:00
1 parent 3029079100
commit 3070a4011b
5 files changed
+38 -11

No files matched your search

+6
View File
@@ -73,6 +73,12 @@ const TemplateModal: React.FC<TemplateModalProps> = ({ children, entity, onOk })
}
const handleOk = async () => {
let values = await api.current?.validate()
values = {
...values,
remark: values?.remark?.trim(),
url: values?.url?.trim(),
format: values?.format?.trim(),
}
await onOk(values)
setVisible(false)
}
+9 -1
View File
@@ -154,7 +154,15 @@ def uploaded(name, live_cover_path, data: List):
file_list.append(i.danmaku)
for post_processor in post_processor:
if post_processor == 'rm':
if ( # 兼容新WEB字段
isinstance(post_processor, str)
and
post_processor == 'rm'
) or (
isinstance(post_processor, dict)
and
post_processor.get('rm')
):
# 删除封面
if live_cover_path is not None:
UploadBase.remove_file(live_cover_path)
+18 -9
View File
@@ -6,6 +6,7 @@ import pathlib
import concurrent.futures
import threading
import copy
import aiohttp_cors
import requests
import stream_gears
@@ -136,15 +137,19 @@ async def cookie_login(request):
def check_similar_remark(json_data):
'''
:return: True if similar remark exists
:return: similar remark or None
'''
for fname in config['streamers'].keys():
_cache = copy.deepcopy(config['streamers'])
for fname, data in _cache.items():
if (
json_data['remark'] in fname or
json_data['remark'] in fname
or
fname in json_data['remark']
) and (
json_data['url'] != data['url']
):
return True
return False
return fname
return None
@routes.get('/v1/get_qrcode')
async def qrcode_get(request):
@@ -256,8 +261,10 @@ async def streamers(request):
async def add_lives(request):
from biliup.app import context
json_data = await request.json()
if check_similar_remark(json_data):
return web.HTTPBadRequest(text=f"{json_data['remark']} 与现存备注存在部分重复,禁止添加")
similar_remark = check_similar_remark(json_data)
if similar_remark:
return web.HTTPBadRequest(text=
f"{json_data['remark']} 与现存备注 {similar_remark} 存在部分重复,禁止添加")
uid = json_data.get('upload_id')
with SessionLocal() as db:
if uid:
@@ -289,8 +296,10 @@ async def lives(request):
old_url = old.url
# 如果备注修改,才需要检查是否与现存备注存在部分重复
if json_data['remark'] != old.remark:
if check_similar_remark(json_data):
return web.HTTPBadRequest(text=f"{json_data['remark']} 与现存备注存在部分重复,禁止修改")
similar_remark = check_similar_remark(json_data)
if similar_remark:
return web.HTTPBadRequest(text=
f"{json_data['remark']} 与现存备注 {similar_remark} 存在部分重复,禁止修改")
uid = json_data.get('upload_id')
# semi-ui 不能直接为 ArrayField 设置空默认值
# 当前端更新后,应移除这里的数据修改
+2 -1
View File
@@ -253,7 +253,8 @@ tags = ["biliup", "视频标签"]
### ffmpeg参数
#opt_args = [ "-ss", "00:00:16" # 跳过开始的16秒 ]
[streamers."星际2INnoVation吕布卫星人族天梯第一视角".override] ## 覆盖全局配置
downloader = "sync-downloader"
################### 用户cookie ###################
### 在使用下方配置时,请确认下方第一行([user])取消了注释。
+3
View File
@@ -242,6 +242,9 @@ streamers:
#opt_args: ### ffmpeg参数
# - '-ss'
# - '00:00:16' # 跳过开始的16秒
override: # 覆盖全局配置
downloader: 'sync-downloader'
bili_qn: 30000