mirror of
https://github.com/comfyanonymous/ComfyUI.git
synced 2026-03-09 23:30:02 +00:00
refactor: move in-function imports to top-level and remove keyword-only argument pattern
- Move imports from inside functions to module top-level in: - app/assets/database/queries/asset.py - app/assets/database/queries/asset_info.py - app/assets/database/queries/cache_state.py - app/assets/manager.py - app/assets/services/asset_management.py - app/assets/services/ingest.py - Remove keyword-only argument markers (*,) from app/assets/ to match codebase conventions Amp-Thread-ID: https://ampcode.com/threads/T-019c24eb-bfa2-727f-8212-8bc976048604 Co-authored-by: Amp <amp@ampcode.com>
This commit is contained in:
@@ -27,7 +27,6 @@ def _rows_per_stmt(cols: int) -> int:
|
||||
|
||||
def seed_from_paths_batch(
|
||||
session: Session,
|
||||
*,
|
||||
specs: list[dict],
|
||||
owner_id: str = "",
|
||||
) -> dict:
|
||||
@@ -177,7 +176,6 @@ def seed_from_paths_batch(
|
||||
|
||||
def bulk_insert_tags_and_meta(
|
||||
session: Session,
|
||||
*,
|
||||
tag_rows: list[dict],
|
||||
meta_rows: list[dict],
|
||||
max_bind_params: int,
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
import sqlalchemy as sa
|
||||
from sqlalchemy import select
|
||||
from sqlalchemy.dialects import sqlite
|
||||
from sqlalchemy.orm import Session
|
||||
|
||||
from app.assets.database.models import Asset
|
||||
@@ -7,7 +8,6 @@ from app.assets.database.models import Asset
|
||||
|
||||
def asset_exists_by_hash(
|
||||
session: Session,
|
||||
*,
|
||||
asset_hash: str,
|
||||
) -> bool:
|
||||
"""
|
||||
@@ -23,7 +23,6 @@ def asset_exists_by_hash(
|
||||
|
||||
def get_asset_by_hash(
|
||||
session: Session,
|
||||
*,
|
||||
asset_hash: str,
|
||||
) -> Asset | None:
|
||||
return (
|
||||
@@ -33,14 +32,11 @@ def get_asset_by_hash(
|
||||
|
||||
def upsert_asset(
|
||||
session: Session,
|
||||
*,
|
||||
asset_hash: str,
|
||||
size_bytes: int,
|
||||
mime_type: str | None = None,
|
||||
) -> tuple[Asset, bool, bool]:
|
||||
"""Upsert an Asset by hash. Returns (asset, created, updated)."""
|
||||
from sqlalchemy.dialects import sqlite
|
||||
|
||||
vals = {"hash": asset_hash, "size_bytes": int(size_bytes)}
|
||||
if mime_type:
|
||||
vals["mime_type"] = mime_type
|
||||
|
||||
@@ -6,6 +6,7 @@ no filesystem operations, no orchestration across multiple tables.
|
||||
"""
|
||||
from collections import defaultdict
|
||||
from datetime import datetime
|
||||
from decimal import Decimal
|
||||
from typing import Sequence
|
||||
|
||||
import sqlalchemy as sa
|
||||
@@ -90,7 +91,6 @@ def _apply_metadata_filter(
|
||||
if isinstance(value, bool):
|
||||
return _exists_for_pred(key, AssetInfoMeta.val_bool == bool(value))
|
||||
if isinstance(value, (int, float)):
|
||||
from decimal import Decimal
|
||||
num = value if isinstance(value, Decimal) else Decimal(str(value))
|
||||
return _exists_for_pred(key, AssetInfoMeta.val_num == num)
|
||||
if isinstance(value, str):
|
||||
@@ -109,7 +109,6 @@ def _apply_metadata_filter(
|
||||
|
||||
def asset_info_exists_for_asset_id(
|
||||
session: Session,
|
||||
*,
|
||||
asset_id: str,
|
||||
) -> bool:
|
||||
q = (
|
||||
@@ -123,7 +122,6 @@ def asset_info_exists_for_asset_id(
|
||||
|
||||
def get_asset_info_by_id(
|
||||
session: Session,
|
||||
*,
|
||||
asset_info_id: str,
|
||||
) -> AssetInfo | None:
|
||||
return session.get(AssetInfo, asset_info_id)
|
||||
@@ -131,7 +129,6 @@ def get_asset_info_by_id(
|
||||
|
||||
def insert_asset_info(
|
||||
session: Session,
|
||||
*,
|
||||
asset_id: str,
|
||||
owner_id: str,
|
||||
name: str,
|
||||
@@ -159,7 +156,6 @@ def insert_asset_info(
|
||||
|
||||
def get_or_create_asset_info(
|
||||
session: Session,
|
||||
*,
|
||||
asset_id: str,
|
||||
owner_id: str,
|
||||
name: str,
|
||||
@@ -192,7 +188,6 @@ def get_or_create_asset_info(
|
||||
|
||||
def update_asset_info_timestamps(
|
||||
session: Session,
|
||||
*,
|
||||
asset_info: AssetInfo,
|
||||
preview_id: str | None = None,
|
||||
) -> None:
|
||||
@@ -311,7 +306,6 @@ def fetch_asset_info_asset_and_tags(
|
||||
|
||||
def fetch_asset_info_and_asset(
|
||||
session: Session,
|
||||
*,
|
||||
asset_info_id: str,
|
||||
owner_id: str = "",
|
||||
) -> tuple[AssetInfo, Asset] | None:
|
||||
@@ -334,7 +328,6 @@ def fetch_asset_info_and_asset(
|
||||
|
||||
def touch_asset_info_by_id(
|
||||
session: Session,
|
||||
*,
|
||||
asset_info_id: str,
|
||||
ts: datetime | None = None,
|
||||
only_if_newer: bool = True,
|
||||
@@ -350,7 +343,6 @@ def touch_asset_info_by_id(
|
||||
|
||||
def replace_asset_info_metadata_projection(
|
||||
session: Session,
|
||||
*,
|
||||
asset_info_id: str,
|
||||
user_metadata: dict | None = None,
|
||||
) -> None:
|
||||
@@ -389,7 +381,6 @@ def replace_asset_info_metadata_projection(
|
||||
|
||||
def delete_asset_info_by_id(
|
||||
session: Session,
|
||||
*,
|
||||
asset_info_id: str,
|
||||
owner_id: str,
|
||||
) -> bool:
|
||||
@@ -402,7 +393,6 @@ def delete_asset_info_by_id(
|
||||
|
||||
def set_asset_info_preview(
|
||||
session: Session,
|
||||
*,
|
||||
asset_info_id: str,
|
||||
preview_asset_id: str | None = None,
|
||||
) -> None:
|
||||
|
||||
@@ -1,8 +1,10 @@
|
||||
import contextlib
|
||||
import os
|
||||
from typing import Sequence
|
||||
|
||||
import sqlalchemy as sa
|
||||
from sqlalchemy import select
|
||||
from sqlalchemy.dialects import sqlite
|
||||
from sqlalchemy.orm import Session
|
||||
|
||||
from app.assets.database.models import Asset, AssetCacheState, AssetInfo
|
||||
@@ -23,14 +25,11 @@ def list_cache_states_by_asset_id(
|
||||
|
||||
def upsert_cache_state(
|
||||
session: Session,
|
||||
*,
|
||||
asset_id: str,
|
||||
file_path: str,
|
||||
mtime_ns: int,
|
||||
) -> tuple[bool, bool]:
|
||||
"""Upsert a cache state by file_path. Returns (created, updated)."""
|
||||
from sqlalchemy.dialects import sqlite
|
||||
|
||||
vals = {
|
||||
"asset_id": asset_id,
|
||||
"file_path": file_path,
|
||||
@@ -101,7 +100,6 @@ def prune_orphaned_assets(session: Session, roots: tuple[str, ...], prefixes_for
|
||||
def fast_db_consistency_pass(
|
||||
session: Session,
|
||||
root: str,
|
||||
*,
|
||||
prefixes_for_root_fn,
|
||||
escape_like_prefix_fn,
|
||||
fast_asset_file_check_fn,
|
||||
@@ -117,8 +115,6 @@ def fast_db_consistency_pass(
|
||||
- Optionally add/remove 'missing' tags based on fast-ok in this root
|
||||
- Optionally return surviving absolute paths
|
||||
"""
|
||||
import contextlib
|
||||
|
||||
prefixes = prefixes_for_root_fn(root)
|
||||
if not prefixes:
|
||||
return set() if collect_existing_paths else None
|
||||
|
||||
@@ -31,7 +31,7 @@ def ensure_tags_exist(session: Session, names: Iterable[str], tag_type: str = "u
|
||||
session.execute(ins)
|
||||
|
||||
|
||||
def get_asset_tags(session: Session, *, asset_info_id: str) -> list[str]:
|
||||
def get_asset_tags(session: Session, asset_info_id: str) -> list[str]:
|
||||
return [
|
||||
tag_name for (tag_name,) in (
|
||||
session.execute(
|
||||
@@ -43,7 +43,6 @@ def get_asset_tags(session: Session, *, asset_info_id: str) -> list[str]:
|
||||
|
||||
def set_asset_info_tags(
|
||||
session: Session,
|
||||
*,
|
||||
asset_info_id: str,
|
||||
tags: Sequence[str],
|
||||
origin: str = "manual",
|
||||
@@ -79,7 +78,6 @@ def set_asset_info_tags(
|
||||
|
||||
def add_tags_to_asset_info(
|
||||
session: Session,
|
||||
*,
|
||||
asset_info_id: str,
|
||||
tags: Sequence[str],
|
||||
origin: str = "manual",
|
||||
@@ -139,7 +137,6 @@ def add_tags_to_asset_info(
|
||||
|
||||
def remove_tags_from_asset_info(
|
||||
session: Session,
|
||||
*,
|
||||
asset_info_id: str,
|
||||
tags: Sequence[str],
|
||||
) -> dict:
|
||||
@@ -180,7 +177,6 @@ def remove_tags_from_asset_info(
|
||||
|
||||
def add_missing_tag_for_asset_id(
|
||||
session: Session,
|
||||
*,
|
||||
asset_id: str,
|
||||
origin: str = "automatic",
|
||||
) -> None:
|
||||
@@ -210,7 +206,6 @@ def add_missing_tag_for_asset_id(
|
||||
|
||||
def remove_missing_tag_for_asset_id(
|
||||
session: Session,
|
||||
*,
|
||||
asset_id: str,
|
||||
) -> None:
|
||||
session.execute(
|
||||
|
||||
Reference in New Issue
Block a user