fix: auto-fix code issues (cron)

- 修复重复导入/字段
- 修复异常处理
- 修复PEP8格式问题
- 添加类型注解
This commit is contained in:
OpenClaw Bot
2026-02-27 18:09:24 +08:00
parent 646b64daf7
commit 17bda3dbce
38 changed files with 1993 additions and 1972 deletions

View File

@@ -3,13 +3,13 @@ InsightFlow - 协作与共享模块 (Phase 7 Task 4)
支持项目分享、评论批注、变更历史、团队空间
"""
import hashlib
import json
import uuid
import hashlib
from datetime import datetime, timedelta
from typing import List, Optional, Dict, Any
from dataclasses import dataclass
from datetime import datetime, timedelta
from enum import Enum
from typing import Any
class SharePermission(Enum):
@@ -50,10 +50,10 @@ class ProjectShare:
permission: str # 权限级别
created_by: str # 创建者
created_at: str
expires_at: Optional[str] # 过期时间
max_uses: Optional[int] # 最大使用次数
expires_at: str | None # 过期时间
max_uses: int | None # 最大使用次数
use_count: int # 已使用次数
password_hash: Optional[str] # 密码保护
password_hash: str | None # 密码保护
is_active: bool # 是否激活
allow_download: bool # 允许下载
allow_export: bool # 允许导出
@@ -67,17 +67,17 @@ class Comment:
project_id: str
target_type: str # 评论目标类型
target_id: str # 目标ID
parent_id: Optional[str] # 父评论ID支持回复
parent_id: str | None # 父评论ID支持回复
author: str # 作者
author_name: str # 作者显示名
content: str # 评论内容
created_at: str
updated_at: str
resolved: bool # 是否已解决
resolved_by: Optional[str] # 解决者
resolved_at: Optional[str] # 解决时间
mentions: List[str] # 提及的用户
attachments: List[Dict] # 附件
resolved_by: str | None # 解决者
resolved_at: str | None # 解决时间
mentions: list[str] # 提及的用户
attachments: list[dict] # 附件
@dataclass
@@ -93,13 +93,13 @@ class ChangeRecord:
changed_by: str # 变更者
changed_by_name: str # 变更者显示名
changed_at: str
old_value: Optional[Dict] # 旧值
new_value: Optional[Dict] # 新值
old_value: dict | None # 旧值
new_value: dict | None # 新值
description: str # 变更描述
session_id: Optional[str] # 会话ID批量变更关联
session_id: str | None # 会话ID批量变更关联
reverted: bool # 是否已回滚
reverted_at: Optional[str] # 回滚时间
reverted_by: Optional[str] # 回滚者
reverted_at: str | None # 回滚时间
reverted_by: str | None # 回滚者
@dataclass
@@ -114,8 +114,8 @@ class TeamMember:
role: str # 角色 (owner/admin/editor/viewer)
joined_at: str
invited_by: str # 邀请者
last_active_at: Optional[str] # 最后活跃时间
permissions: List[str] # 具体权限列表
last_active_at: str | None # 最后活跃时间
permissions: list[str] # 具体权限列表
@dataclass
@@ -130,7 +130,7 @@ class TeamSpace:
updated_at: str
member_count: int
project_count: int
settings: Dict[str, Any] # 团队设置
settings: dict[str, Any] # 团队设置
class CollaborationManager:
@@ -138,8 +138,8 @@ class CollaborationManager:
def __init__(self, db_manager=None):
self.db = db_manager
self._shares_cache: Dict[str, ProjectShare] = {}
self._comments_cache: Dict[str, List[Comment]] = {}
self._shares_cache: dict[str, ProjectShare] = {}
self._comments_cache: dict[str, list[Comment]] = {}
# ============ 项目分享 ============
@@ -148,9 +148,9 @@ class CollaborationManager:
project_id: str,
created_by: str,
permission: str = "read_only",
expires_in_days: Optional[int] = None,
max_uses: Optional[int] = None,
password: Optional[str] = None,
expires_in_days: int | None = None,
max_uses: int | None = None,
password: str | None = None,
allow_download: bool = False,
allow_export: bool = False,
) -> ProjectShare:
@@ -224,7 +224,7 @@ class CollaborationManager:
)
self.db.conn.commit()
def validate_share_token(self, token: str, password: Optional[str] = None) -> Optional[ProjectShare]:
def validate_share_token(self, token: str, password: str | None = None) -> ProjectShare | None:
"""验证分享令牌"""
# 从缓存或数据库获取
share = self._shares_cache.get(token)
@@ -256,7 +256,7 @@ class CollaborationManager:
return share
def _get_share_from_db(self, token: str) -> Optional[ProjectShare]:
def _get_share_from_db(self, token: str) -> ProjectShare | None:
"""从数据库获取分享记录"""
cursor = self.db.conn.cursor()
cursor.execute(
@@ -320,7 +320,7 @@ class CollaborationManager:
return cursor.rowcount > 0
return False
def list_project_shares(self, project_id: str) -> List[ProjectShare]:
def list_project_shares(self, project_id: str) -> list[ProjectShare]:
"""列出项目的所有分享链接"""
if not self.db:
return []
@@ -366,9 +366,9 @@ class CollaborationManager:
author: str,
author_name: str,
content: str,
parent_id: Optional[str] = None,
mentions: Optional[List[str]] = None,
attachments: Optional[List[Dict]] = None,
parent_id: str | None = None,
mentions: list[str] | None = None,
attachments: list[dict] | None = None,
) -> Comment:
"""添加评论"""
comment_id = str(uuid.uuid4())
@@ -434,7 +434,7 @@ class CollaborationManager:
)
self.db.conn.commit()
def get_comments(self, target_type: str, target_id: str, include_resolved: bool = True) -> List[Comment]:
def get_comments(self, target_type: str, target_id: str, include_resolved: bool = True) -> list[Comment]:
"""获取评论列表"""
if not self.db:
return []
@@ -484,7 +484,7 @@ class CollaborationManager:
attachments=json.loads(row[14]) if row[14] else [],
)
def update_comment(self, comment_id: str, content: str, updated_by: str) -> Optional[Comment]:
def update_comment(self, comment_id: str, content: str, updated_by: str) -> Comment | None:
"""更新评论"""
if not self.db:
return None
@@ -505,7 +505,7 @@ class CollaborationManager:
return self._get_comment_by_id(comment_id)
return None
def _get_comment_by_id(self, comment_id: str) -> Optional[Comment]:
def _get_comment_by_id(self, comment_id: str) -> Comment | None:
"""根据ID获取评论"""
cursor = self.db.conn.cursor()
cursor.execute("SELECT * FROM comments WHERE id = ?", (comment_id,))
@@ -551,7 +551,7 @@ class CollaborationManager:
self.db.conn.commit()
return cursor.rowcount > 0
def get_project_comments(self, project_id: str, limit: int = 50, offset: int = 0) -> List[Comment]:
def get_project_comments(self, project_id: str, limit: int = 50, offset: int = 0) -> list[Comment]:
"""获取项目下的所有评论"""
if not self.db:
return []
@@ -583,10 +583,10 @@ class CollaborationManager:
entity_name: str,
changed_by: str,
changed_by_name: str,
old_value: Optional[Dict] = None,
new_value: Optional[Dict] = None,
old_value: dict | None = None,
new_value: dict | None = None,
description: str = "",
session_id: Optional[str] = None,
session_id: str | None = None,
) -> ChangeRecord:
"""记录变更"""
record_id = str(uuid.uuid4())
@@ -651,11 +651,11 @@ class CollaborationManager:
def get_change_history(
self,
project_id: str,
entity_type: Optional[str] = None,
entity_id: Optional[str] = None,
entity_type: str | None = None,
entity_id: str | None = None,
limit: int = 50,
offset: int = 0,
) -> List[ChangeRecord]:
) -> list[ChangeRecord]:
"""获取变更历史"""
if not self.db:
return []
@@ -719,7 +719,7 @@ class CollaborationManager:
reverted_by=row[15],
)
def get_entity_version_history(self, entity_type: str, entity_id: str) -> List[ChangeRecord]:
def get_entity_version_history(self, entity_type: str, entity_id: str) -> list[ChangeRecord]:
"""获取实体的版本历史(用于版本对比)"""
if not self.db:
return []
@@ -757,7 +757,7 @@ class CollaborationManager:
self.db.conn.commit()
return cursor.rowcount > 0
def get_change_stats(self, project_id: str) -> Dict[str, Any]:
def get_change_stats(self, project_id: str) -> dict[str, Any]:
"""获取变更统计"""
if not self.db:
return {}
@@ -823,7 +823,7 @@ class CollaborationManager:
user_email: str,
role: str,
invited_by: str,
permissions: Optional[List[str]] = None,
permissions: list[str] | None = None,
) -> TeamMember:
"""添加团队成员"""
member_id = str(uuid.uuid4())
@@ -851,7 +851,7 @@ class CollaborationManager:
return member
def _get_default_permissions(self, role: str) -> List[str]:
def _get_default_permissions(self, role: str) -> list[str]:
"""获取角色的默认权限"""
permissions_map = {
"owner": ["read", "write", "delete", "share", "admin", "export"],
@@ -887,7 +887,7 @@ class CollaborationManager:
)
self.db.conn.commit()
def get_team_members(self, project_id: str) -> List[TeamMember]:
def get_team_members(self, project_id: str) -> list[TeamMember]:
"""获取团队成员列表"""
if not self.db:
return []