Skip to content

Commit 4ede235

Browse files
jeffcrouseclaude
andcommitted
fix: auto-fix ruff import organization errors across backend (47 files)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
1 parent d04dd74 commit 4ede235

27 files changed

+34
-55
lines changed

backend/app/api/deps.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,14 @@
11
"""Dependency injection for API routes."""
22

33
from collections.abc import AsyncGenerator
4-
from datetime import datetime
5-
from app.utils.time import utcnow
64
from typing import TYPE_CHECKING, Annotated
75
from uuid import UUID
86

97
from fastapi import Depends, HTTPException, Request
108
from sqlalchemy.ext.asyncio import AsyncSession
119

1210
from app.db.session import async_session_maker
11+
from app.utils.time import utcnow
1312

1413
if TYPE_CHECKING:
1514
from app.db.models import Profile

backend/app/api/routes/diagnostics.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,6 @@
44
import platform
55
import sys
66
from datetime import datetime
7-
8-
from app.utils.time import utcnow
97
from typing import Any
108
from uuid import UUID, uuid4
119

@@ -15,6 +13,7 @@
1513

1614
from app.api.deps import CurrentProfile, DbSession
1715
from app.config import FEATURES_VERSION, get_app_version
16+
from app.utils.time import utcnow
1817

1918
router = APIRouter(tags=["diagnostics"])
2019

backend/app/api/routes/export_import.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,6 @@
77
import gzip
88
import json
99
import logging
10-
from datetime import datetime
11-
from app.utils.time import utcnow
1210
from typing import Any
1311

1412
from fastapi import APIRouter, File, HTTPException, UploadFile, status
@@ -25,6 +23,7 @@
2523
LibraryImportService,
2624
RestoreService,
2725
)
26+
from app.utils.time import utcnow
2827

2928
logger = logging.getLogger(__name__)
3029

backend/app/api/routes/library_analysis.py

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,15 +2,14 @@
22

33
import logging
44

5-
from app.utils.time import utcnow
6-
75
from fastapi import APIRouter, HTTPException
86
from pydantic import BaseModel
97
from sqlalchemy import func, select
108

119
from app.api.deps import DbSession
1210
from app.api.routes.library_sync import CancelResponse
1311
from app.db.models import Track, TrackAnalysis
12+
from app.utils.time import utcnow
1413

1514
logger = logging.getLogger(__name__)
1615

@@ -95,7 +94,7 @@ async def get_analysis_status(db: DbSession) -> AnalysisStatus:
9594
Returns analysis progress and detects if the worker has stalled.
9695
Also reports embedding coverage to help detect silent failures.
9796
"""
98-
from datetime import datetime, timedelta
97+
from datetime import timedelta
9998

10099
from sqlalchemy import or_
101100

backend/app/api/routes/library_artists.py

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,15 +4,14 @@
44
import logging
55
from pathlib import Path
66

7-
from app.utils.time import utcnow
8-
97
from fastapi import APIRouter, HTTPException, Request
108
from fastapi.responses import RedirectResponse, StreamingResponse
119
from pydantic import BaseModel
1210
from sqlalchemy import func, select
1311

1412
from app.api.deps import DbSession
1513
from app.db.models import Track, TrackAnalysis, TrackStatus
14+
from app.utils.time import utcnow
1615

1716
logger = logging.getLogger(__name__)
1817

@@ -215,7 +214,7 @@ async def get_artist_detail(
215214
artist_name: The artist name (URL-encoded)
216215
refresh_lastfm: Force refresh of Last.fm data
217216
"""
218-
from datetime import datetime, timedelta
217+
from datetime import timedelta
219218
from urllib.parse import unquote
220219

221220
from sqlalchemy import cast
@@ -719,7 +718,6 @@ async def _cache_artist_images(
719718
image_urls: dict[str, str],
720719
) -> None:
721720
"""Cache artist image URLs in ArtistInfo table."""
722-
from datetime import datetime
723721

724722
from app.db.models import ArtistInfo
725723

backend/app/api/routes/library_discover.py

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,14 +2,13 @@
22

33
import logging
44

5-
from app.utils.time import utcnow
6-
75
from fastapi import APIRouter, Query
86
from pydantic import BaseModel
97
from sqlalchemy import func, select
108

119
from app.api.deps import DbSession
1210
from app.db.models import Track, TrackStatus
11+
from app.utils.time import utcnow
1312

1413
logger = logging.getLogger(__name__)
1514

@@ -86,7 +85,7 @@ async def get_discover_dashboard(
8685
- Unmatched Spotify favorites
8786
- Recently added track count
8887
"""
89-
from datetime import datetime, timedelta
88+
from datetime import timedelta
9089

9190
from app.db.models import ArtistInfo, ProfilePlayHistory
9291
from app.services.lastfm import get_lastfm_service

backend/app/api/routes/subsonic.py

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,9 +11,6 @@
1111

1212
import hashlib
1313
import xml.etree.ElementTree as ET
14-
from datetime import datetime
15-
16-
from app.utils.time import utcnow
1714
from pathlib import Path
1815
from typing import Annotated
1916
from uuid import UUID
@@ -38,6 +35,7 @@
3835
TrackStatus,
3936
)
4037
from app.services.artwork import compute_album_hash, get_artwork_path
38+
from app.utils.time import utcnow
4139

4240
router = APIRouter(tags=["subsonic"])
4341

backend/app/api/routes/tracks/playback.py

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,14 +4,13 @@
44
from typing import Any
55
from uuid import UUID
66

7-
from app.utils.time import utcnow
8-
97
from fastapi import APIRouter, BackgroundTasks, HTTPException, Query
108
from pydantic import BaseModel
119
from sqlalchemy import select
1210

1311
from app.api.deps import DbSession, RequiredProfile
1412
from app.db.models import ProfilePlayHistory, Track
13+
from app.utils.time import utcnow
1514

1615
logger = logging.getLogger(__name__)
1716

@@ -74,7 +73,6 @@ async def record_play(
7473
Increments play count and updates last_played_at for the profile.
7574
Optionally records how long the track was played.
7675
"""
77-
from datetime import datetime
7876

7977
# Verify track exists
8078
track = await db.get(Track, track_id)

backend/app/services/background/sync.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -243,7 +243,6 @@ async def run_bulk_identify(
243243
track_ids: list[str],
244244
) -> dict[str, Any]:
245245
"""Run bulk audio fingerprint identification."""
246-
from datetime import datetime
247246
from uuid import UUID
248247

249248
from sqlalchemy.ext.asyncio import AsyncSession, async_sessionmaker, create_async_engine
@@ -331,7 +330,7 @@ async def run_bulk_identify(
331330

332331
async def _cleanup_frontend_logs(self) -> None:
333332
"""Delete frontend_logs older than 7 days."""
334-
from datetime import datetime, timedelta
333+
from datetime import timedelta
335334

336335
from sqlalchemy import delete
337336
from sqlalchemy.ext.asyncio import AsyncSession, async_sessionmaker, create_async_engine

backend/app/services/export_import/backup.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,6 @@
99
import json
1010
import logging
1111
from collections.abc import AsyncGenerator
12-
from datetime import datetime
13-
from app.utils.time import utcnow
1412
from typing import Any
1513

1614
from sqlalchemy import func, select
@@ -25,6 +23,7 @@
2523
_backup_import_sessions,
2624
)
2725
from app.services.export_import.profile import ExportImportService, ImportService
26+
from app.utils.time import utcnow
2827

2928
logger = logging.getLogger(__name__)
3029

0 commit comments

Comments
 (0)