diff --git a/python_core/database/template.py b/python_core/database/template.py index 90ea2db..557a2ef 100644 --- a/python_core/database/template.py +++ b/python_core/database/template.py @@ -1,9 +1,22 @@ # 模板表 from python_core.kv import kv from .db import Db +from .types import TemplateInfo class TemplateDb(Db): def __init__(self): self.key = "template" - pass \ No newline at end of file + pass + + def list(self)->list[TemplateInfo]: + ... + + def get(self, id: str)->TemplateInfo: + ... + + def create(self, info: TemplateInfo): + ... + + def remove(self, id: str): + ... \ No newline at end of file diff --git a/python_core/database/types.py b/python_core/database/types.py new file mode 100644 index 0000000..d270cb2 --- /dev/null +++ b/python_core/database/types.py @@ -0,0 +1,22 @@ +from dataclasses import dataclass +from typing import Dict, List, Any + +@dataclass +class TemplateInfo: + id: str + name: str + description: str + thumbnail_path: str + draft_content_path: str + resources_path: str + created_at: str + updated_at: str + canvas_config: Dict[str, Any] + duration: int + material_count: int + track_count: int + tags: List[str] + # local/cloud + type: str + # 创建用户 + user_id: str \ No newline at end of file diff --git a/test_category_cli.py b/test_category_cli.py deleted file mode 100644 index c0a93ed..0000000 --- a/test_category_cli.py +++ /dev/null @@ -1,116 +0,0 @@ -#!/usr/bin/env python3 -""" -测试资源分类管理CLI功能 -""" - -import sys -import os -sys.path.insert(0, '/root/projects/mixvideo_v2') - -from python_core.services.resource_category_manager import ResourceCategoryManager - -def test_category_manager(): - """测试分类管理器基本功能""" - print("🧪 测试资源分类管理器...") - - try: - # 创建管理器 - manager = ResourceCategoryManager() - print("✅ ResourceCategoryManager 初始化成功") - - # 创建测试分类 - result1 = manager.create_category('商业', '商业相关的视频内容', '#FF6B6B') - print(f"✅ 创建分类1: {result1['title']} (ID: {result1['id'][:8]})") - - result2 = manager.create_category('教育', '教育培训相关内容', '#4ECDC4') - print(f"✅ 创建分类2: {result2['title']} (ID: {result2['id'][:8]})") - - result3 = manager.create_category('娱乐', '娱乐休闲相关内容', '#45B7D1') - print(f"✅ 创建分类3: {result3['title']} (ID: {result3['id'][:8]})") - - # 获取所有分类 - categories = manager.get_all_categories() - print(f"✅ 获取到 {len(categories)} 个分类") - - # 搜索分类 - search_results = manager.search_categories('商业') - print(f"✅ 搜索'商业'找到 {len(search_results)} 个结果") - - # 更新分类 - updated = manager.update_category(result1['id'], title='商业推广', color='#FF5555') - if updated: - print(f"✅ 更新分类成功: {updated['title']}") - - # 获取单个分类 - category = manager.get_category_by_id(result2['id']) - if category: - print(f"✅ 获取分类详情: {category['title']}") - - print("\n📋 所有分类列表:") - for i, cat in enumerate(categories, 1): - print(f" {i}. {cat['title']} - {cat['color']} - {cat['ai_prompt'][:20]}...") - - print("\n🎉 所有测试通过!") - return True - - except Exception as e: - print(f"❌ 测试失败: {e}") - return False - -def test_cli_import(): - """测试CLI模块导入""" - print("\n🧪 测试CLI模块导入...") - - try: - from python_core.cli.commands.category import category_app - print("✅ category CLI模块导入成功") - - from python_core.cli.cli import app - print("✅ 主CLI应用导入成功") - - # 检查命令是否注册 - commands = [cmd.name for cmd in app.registered_commands.values()] - groups = [group.name for group in app.registered_groups.values()] - - print(f"✅ 注册的命令: {commands}") - print(f"✅ 注册的命令组: {groups}") - - if 'category' in groups: - print("✅ category命令组已正确注册") - else: - print("❌ category命令组未注册") - return False - - print("🎉 CLI导入测试通过!") - return True - - except Exception as e: - print(f"❌ CLI导入测试失败: {e}") - return False - -def main(): - """主测试函数""" - print("🚀 开始测试资源分类管理CLI集成...") - - # 测试分类管理器 - manager_ok = test_category_manager() - - # 测试CLI导入 - cli_ok = test_cli_import() - - if manager_ok and cli_ok: - print("\n🎉 所有测试通过!资源分类管理CLI集成成功!") - - print("\n📖 使用方法:") - print(" python3 -m python_core.cli category --help") - print(" python3 -m python_core.cli category list") - print(" python3 -m python_core.cli category create '标题' 'AI提示词' '#颜色'") - print(" python3 -m python_core.cli category search '关键词'") - print(" python3 -m python_core.cli category stats") - - else: - print("\n❌ 测试失败!") - sys.exit(1) - -if __name__ == "__main__": - main()