删除已在 ahserver/ServerEnv 预加载的模块: json, datetime, getID, debug, curDateString, timestampstr, get_sor_context, time, DictObject, partial, FileStorage, os 删除模块内部 import: from llmage.utils import get_llmusage_by_id, read_ioinfo_content 同步将 get_llmusage_by_id, read_ioinfo_content 加入 load_llmage() 导出, dspy 中通过 ServerEnv 全局调用。
33 lines
1.5 KiB
Python
33 lines
1.5 KiB
Python
#!/usr/bin/env python3
|
|
|
|
result = {'widgettype': 'Message', 'options': {'title': 'Error', 'message': 'Invalid', 'type': 'error'}}
|
|
|
|
try:
|
|
dbname = get_module_dbname('llmage')
|
|
id = params_kw.get('id', '').strip()
|
|
|
|
if not id:
|
|
result['options'] = {'title': '错误', 'message': '记录ID不能为空', 'type': 'error'}
|
|
else:
|
|
async with DBPools().sqlorContext(dbname) as sor:
|
|
# 检查是否有模型关联此类型
|
|
check_sql = "select count(*) as cnt from llm_api_map where llmcatelogid=${id}$"
|
|
rel_count = await sor.sqlExe(check_sql, {'id': id})
|
|
cnt = rel_count[0]['cnt'] if rel_count else 0
|
|
if cnt > 0:
|
|
result['options'] = {'title': '提示', 'message': f'该类型下还有 {cnt} 个模型关联,无法删除', 'type': 'warning'}
|
|
else:
|
|
# 获取类型名用于提示
|
|
name_sql = "select name from llmcatelog where id=${id}$"
|
|
name_rows = await sor.sqlExe(name_sql, {'id': id})
|
|
type_name = name_rows[0]['name'] if name_rows else id
|
|
|
|
delete_sql = "delete from llmcatelog where id=${id}$"
|
|
await sor.sqlExe(delete_sql, {'id': id})
|
|
result = {'widgettype': 'Message', 'options': {'title': '成功', 'message': f'类型「{type_name}」已删除', 'type': 'info'}}
|
|
|
|
except Exception as e:
|
|
result['options'] = {'title': '错误', 'message': str(e), 'type': 'error'}
|
|
|
|
return json.dumps(result, ensure_ascii=False)
|