#!/usr/bin/env python3 """ 修复后的模型定义测试脚本 """ import sys from dataclasses import dataclass, field from datetime import datetime from enum import Enum from typing import Optional, List, Dict, Any from pathlib import Path def test_model_definitions(): """测试修复后的模型定义""" try: # 定义枚举 class PlatformType(Enum): XIAOHONGSHU = "xiaohongshu" DOUYIN = "douyin" # 使用正确的继承方式 @dataclass class Content: title: str description: str tags: List[str] = field(default_factory=list) visibility: str = "public" location: Optional[str] = None # 将子类定义为独立的类,不继承以避免参数顺序问题 @dataclass class ImageNote: title: str description: str images: List[str] = field(default_factory=list) tags: List[str] = field(default_factory=list) visibility: str = "public" location: Optional[str] = None cover_image: Optional[str] = None @dataclass class VideoContent: title: str description: str video_path: str tags: List[str] = field(default_factory=list) visibility: str = "public" location: Optional[str] = None cover_image: Optional[str] = None duration: Optional[int] = None # 测试实例化 note = ImageNote( title="测试标题", description="测试描述", images=["test1.jpg", "test2.jpg"] ) video = VideoContent( title="视频标题", description="视频描述", video_path="test.mp4" ) print(f"✅ 图文笔记: {note.title}, 图片数: {len(note.images)}") print(f"✅ 视频内容: {video.title}, 路径: {video.video_path}") print(f"✅ 平台类型: {PlatformType.XIAOHONGSHU}") return True except Exception as e: print(f"❌ 模型定义测试失败: {e}") import traceback traceback.print_exc() return False def main(): """主测试函数""" print("🚀 开始修复后的模型定义测试") print("=" * 50) if test_model_definitions(): print("\n🎉 修复后的模型定义测试通过!") return True else: print("\n❌ 修复后的模型定义测试失败!") return False if __name__ == "__main__": success = main() sys.exit(0 if success else 1)