Items 2-5 of #3072. Item 1 (the per-row sweep inserts) is separate. 2. .fc-bad was not merely duplicated — it is .fc-weak under a second name. Both local definitions were `color: rgb(var(--v-theme-error))`, identical to the global .fc-weak, and GpuAgentCard was already using .fc-weak to colour exactly what GpuActivityPanel coloured .fc-bad (an errored count, red when non-zero). So rather than promoting a synonym to app.css, both call sites now use .fc-weak and the local defs are gone. app.css's status-colour comment records why there is no .fc-bad, next to the existing note on why .fc-ok is deliberately NOT global. 3. GalleryItem.vue's obsidian literals now use --v-theme-background, which IS obsidian (vuetify-theme.js maps background -> surfaces. obsidian). Preferred over --fc-chrome-rgb: same value, but that variable is named for the nav fade, not for the palette entry. The ticket said these were the only three real uses in the tree. They are not — GalleryItem itself had two more in the artist-label gradient (fixed here, so the file is now consistent), and ~13 more live in SeriesView, SeriesReaderView, ImageViewer, ArtistHeader, ExploreView and GalleryFilterBar. Those are a separate sweep, filed rather than folded in here. 4. The attachment download path had two hand-formatted copies. One definition now, `attachment_download_url`, next to the model both serializers already import. The test pins it by MATCHING the built path against the app's real URL map rather than comparing to a literal — a string-equality test would still pass after someone renamed the route, which is the drift the helper exists to prevent. 5. Extension API key now compares with hmac.compare_digest. Compared as BYTES, not str: compare_digest's str form raises TypeError on non-ASCII, and this value comes straight from an attacker-controlled header, so the str form would turn a junk key into a 500 instead of a 403. Low stakes either way — the API is unauthenticated-by-design on a LAN — but it costs nothing. Refs #3072
92 lines
2.7 KiB
Python
92 lines
2.7 KiB
Python
"""All ORM models. Import this module to make every model visible to Alembic."""
|
|
|
|
from .app_setting import AppSetting
|
|
from .artist import Artist
|
|
from .artist_visit import ArtistVisit
|
|
from .backup_run import BackupRun
|
|
from .base import Base
|
|
from .character_prototype import CcipPrototypeState, CharacterPrototype
|
|
from .credential import Credential
|
|
from .download_event import DownloadEvent
|
|
from .external_link import ExternalLink
|
|
from .gpu_job import GpuJob
|
|
from .head_auto_apply_run import HeadAutoApplyRun
|
|
from .head_metric import HeadMetric
|
|
from .head_metrics_snapshot import HeadMetricsSnapshot
|
|
from .head_training_run import HeadTrainingRun
|
|
from .image_provenance import ImageProvenance
|
|
from .image_record import ImageRecord
|
|
from .image_region import ImageRegion
|
|
from .import_batch import ImportBatch
|
|
from .import_settings import ImportSettings
|
|
from .import_task import ImportTask
|
|
from .library_audit_run import LibraryAuditRun
|
|
from .ml_settings import MLSettings
|
|
from .patreon_failed_media import PatreonFailedMedia
|
|
from .patreon_seen_media import PatreonSeenMedia
|
|
from .pixiv_failed_media import PixivFailedMedia
|
|
from .pixiv_seen_media import PixivSeenMedia
|
|
from .post import Post
|
|
from .post_attachment import PostAttachment, attachment_download_url
|
|
from .presentation_review import PresentationReview
|
|
from .series_chapter import SeriesChapter
|
|
from .series_page import SeriesPage
|
|
from .series_suggestion import SeriesSuggestion
|
|
from .source import Source
|
|
from .subscribestar_failed_media import SubscribeStarFailedMedia
|
|
from .subscribestar_seen_media import SubscribeStarSeenMedia
|
|
from .tag import Tag, TagKind, image_tag
|
|
from .tag_alias import TagAlias
|
|
from .tag_head import TagHead
|
|
from .tag_positive_confirmation import TagPositiveConfirmation
|
|
from .tag_suggestion_rejection import TagSuggestionRejection
|
|
from .task_run import TaskRun
|
|
|
|
__all__ = [
|
|
"Base",
|
|
"AppSetting",
|
|
"Artist",
|
|
"ArtistVisit",
|
|
"BackupRun",
|
|
"Source",
|
|
"Credential",
|
|
"PatreonFailedMedia",
|
|
"PatreonSeenMedia",
|
|
"PixivFailedMedia",
|
|
"PixivSeenMedia",
|
|
"SubscribeStarFailedMedia",
|
|
"SubscribeStarSeenMedia",
|
|
"Post",
|
|
"PostAttachment",
|
|
"attachment_download_url",
|
|
"PresentationReview",
|
|
"SeriesChapter",
|
|
"SeriesPage",
|
|
"SeriesSuggestion",
|
|
"ImageRecord",
|
|
"ImageProvenance",
|
|
"ImageRegion",
|
|
"Tag",
|
|
"TagKind",
|
|
"image_tag",
|
|
"DownloadEvent",
|
|
"ExternalLink",
|
|
"GpuJob",
|
|
"ImportBatch",
|
|
"ImportTask",
|
|
"ImportSettings",
|
|
"LibraryAuditRun",
|
|
"MLSettings",
|
|
"HeadAutoApplyRun",
|
|
"HeadMetric",
|
|
"HeadMetricsSnapshot",
|
|
"HeadTrainingRun",
|
|
"TagAlias",
|
|
"TagHead",
|
|
"CharacterPrototype",
|
|
"CcipPrototypeState",
|
|
"TagPositiveConfirmation",
|
|
"TagSuggestionRejection",
|
|
"TaskRun",
|
|
]
|