fix: auto-fix code issues (cron)
- 修复重复导入/字段 - 修复异常处理 - 修复PEP8格式问题 - 添加类型注解 - 修复缺失的urllib.parse导入
This commit is contained in:
@@ -21,6 +21,7 @@ from enum import StrEnum
|
||||
# Database path
|
||||
DB_PATH = os.path.join(os.path.dirname(__file__), "insightflow.db")
|
||||
|
||||
|
||||
class SDKLanguage(StrEnum):
|
||||
"""SDK 语言类型"""
|
||||
|
||||
@@ -31,6 +32,7 @@ class SDKLanguage(StrEnum):
|
||||
JAVA = "java"
|
||||
RUST = "rust"
|
||||
|
||||
|
||||
class SDKStatus(StrEnum):
|
||||
"""SDK 状态"""
|
||||
|
||||
@@ -40,6 +42,7 @@ class SDKStatus(StrEnum):
|
||||
DEPRECATED = "deprecated" # 已弃用
|
||||
ARCHIVED = "archived" # 已归档
|
||||
|
||||
|
||||
class TemplateCategory(StrEnum):
|
||||
"""模板分类"""
|
||||
|
||||
@@ -50,6 +53,7 @@ class TemplateCategory(StrEnum):
|
||||
TECH = "tech" # 科技
|
||||
GENERAL = "general" # 通用
|
||||
|
||||
|
||||
class TemplateStatus(StrEnum):
|
||||
"""模板状态"""
|
||||
|
||||
@@ -59,6 +63,7 @@ class TemplateStatus(StrEnum):
|
||||
PUBLISHED = "published" # 已发布
|
||||
UNLISTED = "unlisted" # 未列出
|
||||
|
||||
|
||||
class PluginStatus(StrEnum):
|
||||
"""插件状态"""
|
||||
|
||||
@@ -69,6 +74,7 @@ class PluginStatus(StrEnum):
|
||||
PUBLISHED = "published" # 已发布
|
||||
SUSPENDED = "suspended" # 已暂停
|
||||
|
||||
|
||||
class PluginCategory(StrEnum):
|
||||
"""插件分类"""
|
||||
|
||||
@@ -79,6 +85,7 @@ class PluginCategory(StrEnum):
|
||||
SECURITY = "security" # 安全
|
||||
CUSTOM = "custom" # 自定义
|
||||
|
||||
|
||||
class DeveloperStatus(StrEnum):
|
||||
"""开发者认证状态"""
|
||||
|
||||
@@ -88,6 +95,7 @@ class DeveloperStatus(StrEnum):
|
||||
CERTIFIED = "certified" # 已认证(高级)
|
||||
SUSPENDED = "suspended" # 已暂停
|
||||
|
||||
|
||||
@dataclass
|
||||
class SDKRelease:
|
||||
"""SDK 发布"""
|
||||
@@ -113,6 +121,7 @@ class SDKRelease:
|
||||
published_at: str | None
|
||||
created_by: str
|
||||
|
||||
|
||||
@dataclass
|
||||
class SDKVersion:
|
||||
"""SDK 版本历史"""
|
||||
@@ -129,6 +138,7 @@ class SDKVersion:
|
||||
download_count: int
|
||||
created_at: str
|
||||
|
||||
|
||||
@dataclass
|
||||
class TemplateMarketItem:
|
||||
"""模板市场项目"""
|
||||
@@ -160,6 +170,7 @@ class TemplateMarketItem:
|
||||
updated_at: str
|
||||
published_at: str | None
|
||||
|
||||
|
||||
@dataclass
|
||||
class TemplateReview:
|
||||
"""模板评价"""
|
||||
@@ -175,6 +186,7 @@ class TemplateReview:
|
||||
created_at: str
|
||||
updated_at: str
|
||||
|
||||
|
||||
@dataclass
|
||||
class PluginMarketItem:
|
||||
"""插件市场项目"""
|
||||
@@ -213,6 +225,7 @@ class PluginMarketItem:
|
||||
reviewed_at: str | None
|
||||
review_notes: str | None
|
||||
|
||||
|
||||
@dataclass
|
||||
class PluginReview:
|
||||
"""插件评价"""
|
||||
@@ -228,6 +241,7 @@ class PluginReview:
|
||||
created_at: str
|
||||
updated_at: str
|
||||
|
||||
|
||||
@dataclass
|
||||
class DeveloperProfile:
|
||||
"""开发者档案"""
|
||||
@@ -251,6 +265,7 @@ class DeveloperProfile:
|
||||
updated_at: str
|
||||
verified_at: str | None
|
||||
|
||||
|
||||
@dataclass
|
||||
class DeveloperRevenue:
|
||||
"""开发者收益"""
|
||||
@@ -268,6 +283,7 @@ class DeveloperRevenue:
|
||||
transaction_id: str
|
||||
created_at: str
|
||||
|
||||
|
||||
@dataclass
|
||||
class CodeExample:
|
||||
"""代码示例"""
|
||||
@@ -290,6 +306,7 @@ class CodeExample:
|
||||
created_at: str
|
||||
updated_at: str
|
||||
|
||||
|
||||
@dataclass
|
||||
class APIDocumentation:
|
||||
"""API 文档生成记录"""
|
||||
@@ -303,6 +320,7 @@ class APIDocumentation:
|
||||
generated_at: str
|
||||
generated_by: str
|
||||
|
||||
|
||||
@dataclass
|
||||
class DeveloperPortalConfig:
|
||||
"""开发者门户配置"""
|
||||
@@ -326,6 +344,7 @@ class DeveloperPortalConfig:
|
||||
created_at: str
|
||||
updated_at: str
|
||||
|
||||
|
||||
class DeveloperEcosystemManager:
|
||||
"""开发者生态系统管理主类"""
|
||||
|
||||
@@ -432,7 +451,10 @@ class DeveloperEcosystemManager:
|
||||
return None
|
||||
|
||||
def list_sdk_releases(
|
||||
self, language: SDKLanguage | None = None, status: SDKStatus | None = None, search: str | None = None
|
||||
self,
|
||||
language: SDKLanguage | None = None,
|
||||
status: SDKStatus | None = None,
|
||||
search: str | None = None,
|
||||
) -> list[SDKRelease]:
|
||||
"""列出 SDK 发布"""
|
||||
query = "SELECT * FROM sdk_releases WHERE 1=1"
|
||||
@@ -474,7 +496,10 @@ class DeveloperEcosystemManager:
|
||||
|
||||
with self._get_db() as conn:
|
||||
set_clause = ", ".join([f"{k} = ?" for k in updates.keys()])
|
||||
conn.execute(f"UPDATE sdk_releases SET {set_clause} WHERE id = ?", list(updates.values()) + [sdk_id])
|
||||
conn.execute(
|
||||
f"UPDATE sdk_releases SET {set_clause} WHERE id = ?",
|
||||
list(updates.values()) + [sdk_id],
|
||||
)
|
||||
conn.commit()
|
||||
|
||||
return self.get_sdk_release(sdk_id)
|
||||
@@ -543,7 +568,19 @@ class DeveloperEcosystemManager:
|
||||
checksum, file_size, download_count, created_at)
|
||||
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
|
||||
""",
|
||||
(version_id, sdk_id, version, True, is_lts, release_notes, download_url, checksum, file_size, 0, now),
|
||||
(
|
||||
version_id,
|
||||
sdk_id,
|
||||
version,
|
||||
True,
|
||||
is_lts,
|
||||
release_notes,
|
||||
download_url,
|
||||
checksum,
|
||||
file_size,
|
||||
0,
|
||||
now,
|
||||
),
|
||||
)
|
||||
conn.commit()
|
||||
|
||||
@@ -662,7 +699,9 @@ class DeveloperEcosystemManager:
|
||||
def get_template(self, template_id: str) -> TemplateMarketItem | None:
|
||||
"""获取模板详情"""
|
||||
with self._get_db() as conn:
|
||||
row = conn.execute("SELECT * FROM template_market WHERE id = ?", (template_id,)).fetchone()
|
||||
row = conn.execute(
|
||||
"SELECT * FROM template_market WHERE id = ?", (template_id,)
|
||||
).fetchone()
|
||||
|
||||
if row:
|
||||
return self._row_to_template(row)
|
||||
@@ -851,7 +890,12 @@ class DeveloperEcosystemManager:
|
||||
SET rating = ?, rating_count = ?, review_count = ?
|
||||
WHERE id = ?
|
||||
""",
|
||||
(round(row["avg_rating"], 2) if row["avg_rating"] else 0, row["count"], row["count"], template_id),
|
||||
(
|
||||
round(row["avg_rating"], 2) if row["avg_rating"] else 0,
|
||||
row["count"],
|
||||
row["count"],
|
||||
template_id,
|
||||
),
|
||||
)
|
||||
|
||||
def get_template_reviews(self, template_id: str, limit: int = 50) -> list[TemplateReview]:
|
||||
@@ -1159,7 +1203,12 @@ class DeveloperEcosystemManager:
|
||||
SET rating = ?, rating_count = ?, review_count = ?
|
||||
WHERE id = ?
|
||||
""",
|
||||
(round(row["avg_rating"], 2) if row["avg_rating"] else 0, row["count"], row["count"], plugin_id),
|
||||
(
|
||||
round(row["avg_rating"], 2) if row["avg_rating"] else 0,
|
||||
row["count"],
|
||||
row["count"],
|
||||
plugin_id,
|
||||
),
|
||||
)
|
||||
|
||||
def get_plugin_reviews(self, plugin_id: str, limit: int = 50) -> list[PluginReview]:
|
||||
@@ -1248,7 +1297,10 @@ class DeveloperEcosystemManager:
|
||||
return revenue
|
||||
|
||||
def get_developer_revenues(
|
||||
self, developer_id: str, start_date: datetime | None = None, end_date: datetime | None = None
|
||||
self,
|
||||
developer_id: str,
|
||||
start_date: datetime | None = None,
|
||||
end_date: datetime | None = None,
|
||||
) -> list[DeveloperRevenue]:
|
||||
"""获取开发者收益记录"""
|
||||
query = "SELECT * FROM developer_revenues WHERE developer_id = ?"
|
||||
@@ -1365,7 +1417,9 @@ class DeveloperEcosystemManager:
|
||||
def get_developer_profile(self, developer_id: str) -> DeveloperProfile | None:
|
||||
"""获取开发者档案"""
|
||||
with self._get_db() as conn:
|
||||
row = conn.execute("SELECT * FROM developer_profiles WHERE id = ?", (developer_id,)).fetchone()
|
||||
row = conn.execute(
|
||||
"SELECT * FROM developer_profiles WHERE id = ?", (developer_id,)
|
||||
).fetchone()
|
||||
|
||||
if row:
|
||||
return self._row_to_developer_profile(row)
|
||||
@@ -1374,13 +1428,17 @@ class DeveloperEcosystemManager:
|
||||
def get_developer_profile_by_user(self, user_id: str) -> DeveloperProfile | None:
|
||||
"""通过用户 ID 获取开发者档案"""
|
||||
with self._get_db() as conn:
|
||||
row = conn.execute("SELECT * FROM developer_profiles WHERE user_id = ?", (user_id,)).fetchone()
|
||||
row = conn.execute(
|
||||
"SELECT * FROM developer_profiles WHERE user_id = ?", (user_id,)
|
||||
).fetchone()
|
||||
|
||||
if row:
|
||||
return self._row_to_developer_profile(row)
|
||||
return None
|
||||
|
||||
def verify_developer(self, developer_id: str, status: DeveloperStatus) -> DeveloperProfile | None:
|
||||
def verify_developer(
|
||||
self, developer_id: str, status: DeveloperStatus
|
||||
) -> DeveloperProfile | None:
|
||||
"""验证开发者"""
|
||||
now = datetime.now().isoformat()
|
||||
|
||||
@@ -1393,7 +1451,9 @@ class DeveloperEcosystemManager:
|
||||
""",
|
||||
(
|
||||
status.value,
|
||||
now if status in [DeveloperStatus.VERIFIED, DeveloperStatus.CERTIFIED] else None,
|
||||
now
|
||||
if status in [DeveloperStatus.VERIFIED, DeveloperStatus.CERTIFIED]
|
||||
else None,
|
||||
now,
|
||||
developer_id,
|
||||
),
|
||||
@@ -1642,7 +1702,9 @@ class DeveloperEcosystemManager:
|
||||
def get_latest_api_documentation(self) -> APIDocumentation | None:
|
||||
"""获取最新 API 文档"""
|
||||
with self._get_db() as conn:
|
||||
row = conn.execute("SELECT * FROM api_documentation ORDER BY generated_at DESC LIMIT 1").fetchone()
|
||||
row = conn.execute(
|
||||
"SELECT * FROM api_documentation ORDER BY generated_at DESC LIMIT 1"
|
||||
).fetchone()
|
||||
|
||||
if row:
|
||||
return self._row_to_api_documentation(row)
|
||||
@@ -1729,7 +1791,9 @@ class DeveloperEcosystemManager:
|
||||
def get_portal_config(self, config_id: str) -> DeveloperPortalConfig | None:
|
||||
"""获取开发者门户配置"""
|
||||
with self._get_db() as conn:
|
||||
row = conn.execute("SELECT * FROM developer_portal_configs WHERE id = ?", (config_id,)).fetchone()
|
||||
row = conn.execute(
|
||||
"SELECT * FROM developer_portal_configs WHERE id = ?", (config_id,)
|
||||
).fetchone()
|
||||
|
||||
if row:
|
||||
return self._row_to_portal_config(row)
|
||||
@@ -1738,7 +1802,9 @@ class DeveloperEcosystemManager:
|
||||
def get_active_portal_config(self) -> DeveloperPortalConfig | None:
|
||||
"""获取活跃的开发者门户配置"""
|
||||
with self._get_db() as conn:
|
||||
row = conn.execute("SELECT * FROM developer_portal_configs WHERE is_active = 1 LIMIT 1").fetchone()
|
||||
row = conn.execute(
|
||||
"SELECT * FROM developer_portal_configs WHERE is_active = 1 LIMIT 1"
|
||||
).fetchone()
|
||||
|
||||
if row:
|
||||
return self._row_to_portal_config(row)
|
||||
@@ -1984,9 +2050,11 @@ class DeveloperEcosystemManager:
|
||||
updated_at=row["updated_at"],
|
||||
)
|
||||
|
||||
|
||||
# Singleton instance
|
||||
_developer_ecosystem_manager = None
|
||||
|
||||
|
||||
def get_developer_ecosystem_manager() -> DeveloperEcosystemManager:
|
||||
"""获取开发者生态系统管理器单例"""
|
||||
global _developer_ecosystem_manager
|
||||
|
||||
Reference in New Issue
Block a user