Harden image fetch algorithm

Prepare for database integration
This commit is contained in:
2025-09-24 20:07:19 +07:00
parent 88d40c0d99
commit 3a88bdad3a
17 changed files with 600 additions and 26 deletions

View File

@@ -5,7 +5,7 @@ from dataclasses import dataclass, fields
from pathlib import Path
from typing import List
from pythonapp.Libs.ConfigDataClass import Config
from modules.shared.ConfigDataClass import Config
@dataclass
@@ -61,7 +61,7 @@ class ModelPackage:
field_value = getattr(package_info, field_name)
if field_value is not None and field_value != "" and field_name != "filename":
current_value = getattr(self.info, field_name)
if current_value is None or current_value == "" or current_value == 0 or len(current_value) == 0:
if current_value is None or current_value == "" or current_value == 0 or len(str(current_value)) == 0:
setattr(self.info, field_name, field_value)
# Генерируем UUID если он не определен

View File

@@ -1,7 +1,7 @@
from dataclasses import dataclass
from pathlib import Path
from pythonapp.Libs.ConfigDataClass import Config
from modules.shared.ConfigDataClass import Config
@dataclass

View File

@@ -301,7 +301,7 @@ class ModelPackageSubRepository:
internal = True
break
pulled = list()
pulled: list[ModelPackage] = list()
for candidate in to_pull:
package_path = self.path / candidate['uuid']
if os.path.exists(str(Path(package_path) / "package.json")): raise RuntimeError("package exists!")
@@ -357,13 +357,15 @@ class ModelPackageSubRepository:
pulled.append(package)
for package in pulled:
info = package.info
print('Collections for package:')
print(f' {'N':<{2}} {'version':<{10}} {'type':<{10}} {'release_date':<{25}}'
f' {'lineage':<{10}} {'quant':<{5}} {'size':<{10}} ')
# TODO fix it
print(
f' {'N':<{2}} {candidate['version']:<{10}} {candidate['package_type']:<{10}} {candidate['release_date']:<{25}}'
f' {candidate['lineage']:<{10}} {candidate['quantisation']:<{5}} {format_bytes(candidate['size_bytes']):<{10}} ')
f' {'N':<{2}} {info.version:<{10}} {info.package_type:<{10}} {info.release_date:<{25}}'
f' {info.lineage:<{10}} {info.quantization:<{5}} {format_bytes(info.size_bytes):<{10}} ')
self._add_package_to_collections_interactive(package)

View File

@@ -4,7 +4,7 @@ from pathlib import Path
from modelspace.ModelPackage import ModelPackage
from modelspace.ModelPackageSubRepository import ModelPackageSubRepository
from pythonapp.Libs.ConfigDataClass import Config
from modules.shared.ConfigDataClass import Config
@dataclass