fix(fc3a): ruff I001 import-block fixes + use sqlalchemy.case (not func.case)
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -4,11 +4,11 @@ from quart import Blueprint, jsonify, request
|
|||||||
|
|
||||||
from ..extensions import get_session
|
from ..extensions import get_session
|
||||||
from ..services.source_service import (
|
from ..services.source_service import (
|
||||||
|
KNOWN_PLATFORMS,
|
||||||
ArtistNotFoundError,
|
ArtistNotFoundError,
|
||||||
DuplicateSourceError,
|
DuplicateSourceError,
|
||||||
EmptyUrlError,
|
EmptyUrlError,
|
||||||
InvalidConfigError,
|
InvalidConfigError,
|
||||||
KNOWN_PLATFORMS,
|
|
||||||
SourceService,
|
SourceService,
|
||||||
UnknownPlatformError,
|
UnknownPlatformError,
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ Dates come from Post.post_date via ImageProvenance.post_id.
|
|||||||
|
|
||||||
from dataclasses import dataclass
|
from dataclasses import dataclass
|
||||||
|
|
||||||
from sqlalchemy import and_, func, or_, select
|
from sqlalchemy import and_, case, func, or_, select
|
||||||
from sqlalchemy.exc import IntegrityError
|
from sqlalchemy.exc import IntegrityError
|
||||||
from sqlalchemy.ext.asyncio import AsyncSession
|
from sqlalchemy.ext.asyncio import AsyncSession
|
||||||
|
|
||||||
@@ -228,7 +228,7 @@ class ArtistService:
|
|||||||
like = f"%{cleaned.lower()}%"
|
like = f"%{cleaned.lower()}%"
|
||||||
prefix_like = f"{cleaned.lower()}%"
|
prefix_like = f"{cleaned.lower()}%"
|
||||||
# Rank: exact (0) < prefix (1) < substring (2).
|
# Rank: exact (0) < prefix (1) < substring (2).
|
||||||
rank = func.case(
|
rank = case(
|
||||||
(func.lower(Artist.name) == cleaned.lower(), 0),
|
(func.lower(Artist.name) == cleaned.lower(), 0),
|
||||||
(func.lower(Artist.name).like(prefix_like), 1),
|
(func.lower(Artist.name).like(prefix_like), 1),
|
||||||
else_=2,
|
else_=2,
|
||||||
|
|||||||
@@ -10,7 +10,6 @@ from sqlalchemy.ext.asyncio import AsyncSession
|
|||||||
|
|
||||||
from ..models import Artist, Source
|
from ..models import Artist, Source
|
||||||
|
|
||||||
|
|
||||||
# App-level allowlist (frozenset to make accidental mutation loud).
|
# App-level allowlist (frozenset to make accidental mutation loud).
|
||||||
KNOWN_PLATFORMS: frozenset[str] = frozenset({
|
KNOWN_PLATFORMS: frozenset[str] = frozenset({
|
||||||
"patreon", "fanbox", "subscribestar", "pixiv", "deviantart",
|
"patreon", "fanbox", "subscribestar", "pixiv", "deviantart",
|
||||||
|
|||||||
@@ -3,11 +3,11 @@ from sqlalchemy import select
|
|||||||
|
|
||||||
from backend.app.models import Artist
|
from backend.app.models import Artist
|
||||||
from backend.app.services.source_service import (
|
from backend.app.services.source_service import (
|
||||||
|
KNOWN_PLATFORMS,
|
||||||
ArtistNotFoundError,
|
ArtistNotFoundError,
|
||||||
DuplicateSourceError,
|
DuplicateSourceError,
|
||||||
EmptyUrlError,
|
EmptyUrlError,
|
||||||
InvalidConfigError,
|
InvalidConfigError,
|
||||||
KNOWN_PLATFORMS,
|
|
||||||
SourceService,
|
SourceService,
|
||||||
UnknownPlatformError,
|
UnknownPlatformError,
|
||||||
)
|
)
|
||||||
|
|||||||
Reference in New Issue
Block a user