# -*- coding: utf-8 -*- # demo/api/hotload.dspy —— W-07d 脚本保存热加载(语法校验通过即生效) # 入参: session_id(必填), script_id(必填), script_name(可选), script_type(可选 python/expr), script_content(必填) try: if not params_kw.get('session_id') or not params_kw.get('script_id'): return {"status": 400, "message": "session_id/script_id 不能为空"} if not params_kw.get('script_content'): return {"status": 400, "message": "script_content 不能为空"} data = await hotload_script( session_id=params_kw.get('session_id'), script_id=params_kw.get('script_id'), script_name=params_kw.get('script_name', ''), script_type=params_kw.get('script_type', 'python'), script_content=params_kw.get('script_content'), ) return {"status": 200, "data": data} except DemoParamError as e: return {"status": 400, "message": str(e)} except DemoNotFoundError as e: return {"status": 404, "message": str(e)} except DemoStateError as e: return {"status": 400, "message": str(e)} except Exception as e: return {"status": 500, "message": "hotload_script 内部错误: %s" % e}