corrected formatting

This commit is contained in:
bigcat88 2025-09-14 18:12:00 +03:00
parent a7f2546558
commit a2fc2bbae4
No known key found for this signature in database
GPG Key ID: 1F0BF0EC3CF22721
4 changed files with 24 additions and 9 deletions

View File

@ -101,10 +101,12 @@ class CreateFromHashBody(BaseModel):
return []
if isinstance(v, list):
out = [str(t).strip().lower() for t in v if str(t).strip()]
seen = set(); dedup = []
seen = set()
dedup = []
for t in out:
if t not in seen:
seen.add(t); dedup.append(t)
seen.add(t)
dedup.append(t)
return dedup
if isinstance(v, str):
return [t.strip().lower() for t in v.split(",") if t.strip()]

View File

@ -239,7 +239,8 @@ async def _run_hash_verify_pipeline(root: schemas_in.RootType, prog: ScanProgres
for lst in (verify_ids, unhashed_ids):
for sid in lst:
if sid not in seen:
seen.add(sid); ordered.append(sid)
seen.add(sid)
ordered.append(sid)
prog.discovered = len(ordered)
@ -382,7 +383,9 @@ def _start_state_workers(root: schemas_in.RootType, prog: ScanProgress, state: S
asyncio.create_task(_close_when_ready())
async def _await_state_workers_then_finish(root: schemas_in.RootType, prog: ScanProgress, state: SlowQueueState) -> None:
async def _await_state_workers_then_finish(
root: schemas_in.RootType, prog: ScanProgress, state: SlowQueueState
) -> None:
if state.workers:
await asyncio.gather(*state.workers, return_exceptions=True)
await _reconcile_missing_tags_for_root(root, prog)

View File

@ -5,7 +5,9 @@ import pytest
@pytest.mark.asyncio
async def test_meta_and_across_keys_and_types(http: aiohttp.ClientSession, api_base: str, asset_factory, make_asset_bytes):
async def test_meta_and_across_keys_and_types(
http: aiohttp.ClientSession, api_base: str, asset_factory, make_asset_bytes
):
name = "mf_and_mix.safetensors"
tags = ["models", "checkpoints", "unit-tests", "mf-and"]
meta = {"purpose": "mix", "epoch": 1, "active": True, "score": 1.23}
@ -126,7 +128,9 @@ async def test_meta_any_of_list_of_scalars(http, api_base, asset_factory, make_a
@pytest.mark.asyncio
async def test_meta_none_semantics_missing_or_null_and_any_of_with_none(http, api_base, asset_factory, make_asset_bytes):
async def test_meta_none_semantics_missing_or_null_and_any_of_with_none(
http, api_base, asset_factory, make_asset_bytes
):
# a1: key missing; a2: explicit null; a3: concrete value
t = ["models", "checkpoints", "unit-tests", "mf-none"]
a1 = await asset_factory("mf_none_missing.safetensors", t, {"x": 1}, make_asset_bytes("a1"))
@ -362,7 +366,11 @@ async def test_meta_sort_and_paging_under_filter(http, api_base, asset_factory,
await asset_factory(n3, t, {"group": "g"}, make_asset_bytes(n3, 3072))
# Sort by size ascending with paging
q = {"include_tags": "unit-tests,mf-sort", "metadata_filter": json.dumps({"group": "g"}), "sort": "size", "order": "asc", "limit": "2"}
q = {
"include_tags": "unit-tests,mf-sort",
"metadata_filter": json.dumps({"group": "g"}),
"sort": "size", "order": "asc", "limit": "2",
}
async with http.get(api_base + "/api/assets", params=q) as r1:
b1 = await r1.json()
assert r1.status == 200

View File

@ -259,9 +259,11 @@ async def test_delete_one_assetinfo_of_missing_asset_keeps_identity(
# Both infos should be marked missing
async with http.get(f"{api_base}/api/assets/{a1['id']}") as g1:
d1 = await g1.json(); assert "missing" in set(d1.get("tags", []))
d1 = await g1.json()
assert "missing" in set(d1.get("tags", []))
async with http.get(f"{api_base}/api/assets/{a2['id']}") as g2:
d2 = await g2.json(); assert "missing" in set(d2.get("tags", []))
d2 = await g2.json()
assert "missing" in set(d2.get("tags", []))
# Delete one info
async with http.delete(f"{api_base}/api/assets/{a1['id']}") as rd: