Skip to content

Commit 3308e4e

Browse files
author
OpenClaw
committed
fix(backend): fix Ruff B904 errors in chart.py
- Add 'from None' to exception chaining in chart API - Remove unused imports (auto-fixed by ruff)
1 parent 4fcfc7c commit 3308e4e

10 files changed

Lines changed: 30 additions & 25 deletions

File tree

backend/app/api/endpoints/chart.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -78,6 +78,6 @@ async def get_chart(source: str, chart_type: str, limit: int = 50):
7878
],
7979
}
8080
except ValueError as e:
81-
raise HTTPException(status_code=400, detail=str(e))
81+
raise HTTPException(status_code=400, detail=str(e)) from None
8282
except Exception as e:
83-
raise HTTPException(status_code=500, detail=f"获取榜单数据失败: {str(e)}")
83+
raise HTTPException(status_code=500, detail=f"获取榜单数据失败: {str(e)}") from None

backend/app/api/endpoints/download.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
Download API 端点 - 下载管理
33
"""
44

5-
from fastapi import APIRouter, HTTPException
5+
from fastapi import APIRouter
66
from pydantic import BaseModel
77

88
router = APIRouter(prefix="/download", tags=["下载管理"])

backend/app/api/endpoints/mediaserver.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
MediaServer API 端点 - 媒体服务器管理
33
"""
44

5-
from fastapi import APIRouter, HTTPException
5+
from fastapi import APIRouter
66
from pydantic import BaseModel
77

88
router = APIRouter(prefix="/mediaserver", tags=["媒体服务器"])

backend/app/api/endpoints/organize.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
Organize API 端点 - 文件整理管理
33
"""
44

5-
from fastapi import APIRouter, HTTPException
5+
from fastapi import APIRouter
66
from pydantic import BaseModel
77

88
from app.modules.organize.organize_module import OrganizeModule

backend/tests/unit/modules/chart/test_netease_fetcher.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,10 @@
11
"""网易云音乐榜单抓取器测试"""
22

3+
34
import pytest
4-
from datetime import datetime
5+
6+
from app.modules.chart.fetchers.base import ChartData
57
from app.modules.chart.fetchers.netease import NeteaseChartFetcher
6-
from app.modules.chart.fetchers.base import ChartData, ChartEntry
78

89

910
class TestNeteaseChartFetcher:

backend/tests/unit/modules/chart/test_qq_music_fetcher.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,10 @@
11
"""QQ音乐榜单抓取器测试"""
22

3+
34
import pytest
4-
from datetime import datetime
5+
6+
from app.modules.chart.fetchers.base import ChartData
57
from app.modules.chart.fetchers.qq_music import QQMusicChartFetcher
6-
from app.modules.chart.fetchers.base import ChartData, ChartEntry
78

89

910
class TestQQMusicChartFetcher:

backend/tests/unit/modules/organize/test_id3_writer.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,9 @@
11
"""ID3 标签写入测试"""
22

3+
from unittest.mock import MagicMock, patch
4+
35
import pytest
4-
from datetime import datetime
5-
from unittest.mock import Mock, patch, MagicMock
6+
67
from app.modules.organize.id3_writer import ID3Writer
78

89

backend/tests/unit/modules/organize/test_organize_module.py

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,12 @@
11
"""Organize Module 测试"""
22

3-
import pytest
4-
from pathlib import Path
53
from datetime import datetime
6-
from unittest.mock import Mock, patch
4+
from unittest.mock import patch
5+
6+
import pytest
7+
8+
from app.modules.organize.models import OrganizeStatus, OrganizeTask
79
from app.modules.organize.organize_module import OrganizeModule
8-
from app.modules.organize.models import OrganizeTask, OrganizeStatus
910

1011

1112
class TestOrganizeModule:

backend/tests/unit/modules/ptsite/test_site_extensions.py

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,12 @@
11
"""PT 站点扩展测试"""
22

3+
from unittest.mock import AsyncMock, MagicMock, patch
4+
35
import pytest
4-
from datetime import datetime
5-
from unittest.mock import Mock, patch, AsyncMock, MagicMock
6+
7+
from app.modules.site.models import SiteConfig, TorrentInfo
68
from app.modules.site.sites.mteam import MTeamSite
79
from app.modules.site.sites.opencd import OpenCDSite
8-
from app.modules.site.models import TorrentInfo, SiteConfig
910

1011

1112
class TestMTeamSite:

backend/tests/unit/modules/subscribe/test_chart_subscription.py

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,9 @@
11
"""榜单订阅集成测试 - TDD"""
22

3-
import pytest
43
from datetime import datetime
5-
from unittest.mock import Mock, patch, AsyncMock
4+
from unittest.mock import AsyncMock, patch
5+
6+
import pytest
67

78

89
class TestChartSubscription:
@@ -28,7 +29,7 @@ def test_chart_source_enum_exists(self):
2829

2930
def test_subscription_model_chart_fields(self):
3031
"""测试 Subscription 模型有榜单字段 🆕"""
31-
from app.modules.subscribe.models import Subscription, SubscriptionType, ChartSource
32+
from app.modules.subscribe.models import ChartSource, Subscription, SubscriptionType
3233

3334
sub = Subscription(
3435
type=SubscriptionType.CHART,
@@ -57,9 +58,9 @@ async def test_subscribe_module_exists(self):
5758
@pytest.mark.asyncio
5859
async def test_process_chart_subscription(self):
5960
"""测试处理榜单订阅 🆕"""
60-
from app.modules.subscribe.subscribe_module import SubscribeModule
61-
from app.modules.subscribe.models import Subscription, SubscriptionType, ChartSource
6261
from app.modules.chart.fetchers.base import ChartData, ChartEntry
62+
from app.modules.subscribe.models import ChartSource, Subscription, SubscriptionType
63+
from app.modules.subscribe.subscribe_module import SubscribeModule
6364

6465
# Mock ChartData
6566
mock_chart_data = ChartData(
@@ -101,9 +102,8 @@ async def test_process_chart_subscription(self):
101102
@pytest.mark.asyncio
102103
async def test_chart_subscription_deduplication(self):
103104
"""测试榜单订阅去重 🆕"""
104-
from app.modules.subscribe.subscribe_module import SubscribeModule
105-
from app.modules.subscribe.models import Subscription, SubscriptionType, ChartSource
106105
from app.modules.chart.fetchers.base import ChartEntry
106+
from app.modules.subscribe.subscribe_module import SubscribeModule
107107

108108
subscribe_module = SubscribeModule()
109109

0 commit comments

Comments
 (0)