#!/usr/bin/env python3 """ 为API添加一个新的测试端点,用于验证修复 """ def add_test_endpoint(): """在API文件末尾添加一个测试端点""" endpoint_code = ''' # 测试端点 - 用于验证ModelManager修复 @app.route('/api/models/test', methods=['GET']) def test_models_fix(): """ 测试端点 - 验证ModelManager修复是否生效 """ try: from utils.model_manager import ModelManager import os # 强制创建新的ModelManager实例 current_dir = os.path.dirname(os.path.abspath(__file__)) project_root = os.path.dirname(current_dir) model_dir = os.path.join(project_root, 'saved_models') manager = ModelManager(model_dir) models = manager.list_models() # 简化的响应格式 test_result = { "status": "success", "test_name": "ModelManager修复测试", "model_dir": manager.model_dir, "dir_exists": os.path.exists(manager.model_dir), "models_found": len(models), "models": [] } for model in models: test_result["models"].append({ "filename": model.get('filename', 'MISSING'), "model_id": model.get('filename', '').replace('.pth', '') if model.get('filename') else 'GENERATED_MISSING', "product_id": model.get('product_id', 'MISSING'), "model_type": model.get('model_type', 'MISSING') }) return jsonify(test_result) except Exception as e: return jsonify({ "status": "error", "message": str(e), "test_name": "ModelManager修复测试" }), 500 ''' # 读取当前API文件 with open('server/api.py', 'r', encoding='utf-8') as f: content = f.read() # 检查是否已经添加了测试端点 if '/api/models/test' in content: print("测试端点已存在") return # 在文件末尾添加测试端点 with open('server/api.py', 'a', encoding='utf-8') as f: f.write(endpoint_code) print("已添加测试端点: /api/models/test") print("重启API服务器后访问: http://localhost:5000/api/models/test") if __name__ == "__main__": add_test_endpoint()