Preparing modelspace release

This commit is contained in:
2025-09-15 12:14:26 +07:00
parent fb1d7c295a
commit 98aa64515f
5 changed files with 63 additions and 33 deletions

View File

@@ -88,7 +88,7 @@ class ModelPackageSelector:
available_packages = available_packages - installed_packages
if len(available_packages) == 0:
self._installed_packages = self._installed_packages | set(available_packages)
print("All possible packages for your query had been installed")
return available_packages
if len(available_packages) == 1:
self._installed_packages = self._installed_packages | set(available_packages)

View File

@@ -33,9 +33,10 @@ class ModelSpace:
def check_for_file_conflicts(self, pkg_id, path: str):
path = Path(path)
self.temp_files_pending.add(pkg_id, path)
if path.exists() or path in self.temp_files_pending.index:
self.temp_file_conflicts.add(pkg_id, path)
self.temp_files_pending.add(pkg_id, path)
def get_dest_dir(self, package: ModelPackage, no_lineage = False):
type_subdir = self.layout.get(package.package_type, None)
@@ -63,7 +64,7 @@ class ModelSpace:
def install(self, resources: str | list[str], depth = 0, answer = None) -> None:
def install(self, resources: str | list[str], answer = None, depth = 0) -> None:
if depth == 0: self._reset_selector()
if isinstance(resources, str): resources = [resources]
@@ -75,13 +76,14 @@ class ModelSpace:
for file in package.files:
self.check_for_file_conflicts(package.uuid, Path(self.path) / self.get_dest_dir(package, self.layout.no_lineage) / file)
if len(self.temp_file_conflicts.index) != 0: raise RuntimeError("File conflicts detected")
if len(self.temp_file_conflicts.index) != 0:
raise RuntimeError("File conflicts detected")
for package in selected_packages:
self.db.create_manual(package.uuid) # TODO add deps separation from manual packages
for file in package.files:
self.db.create_file(package.uuid, Path(self.get_dest_dir(package, self.layout.no_lineage)) / file)
self._copier(package.path / "files" / file, str(self.get_dest_dir(package, self.layout.no_lineage)),[file])
self.db.create_file(package.uuid, str(Path(self.get_dest_dir(package, self.layout.no_lineage)) / file))
self._copier(package.path / "files", str(Path(self.path) / self.get_dest_dir(package, self.layout.no_lineage)),[file])
@@ -134,10 +136,11 @@ class ModelSpace:
@property
def available_resources(self): return self.repo.model_sub_repo.resources
@property
def installed_manuals(self): return [m[0] if m and len(m) > 0 else None for m in self.db.get_all_manuals()] if self.db.get_all_manuals() else list()
def installed_manuals(self): return [self.repo.model_sub_repo.package_by_id(m[0]) if m and len(m) > 0 else None for m in self.db.get_all_manuals()] if self.db.get_all_manuals() else list()
@property
def installed_deps(self): return [m[0] if m and len(m) > 0 else None for m in self.db.get_all_deps()] if self.db.get_all_deps() else list()
def installed_deps(self): return [self.repo.model_sub_repo.package_by_id(m[0]) if m and len(m) > 0 else None for m in self.db.get_all_deps()] if self.db.get_all_deps() else list()
@property
def installed_packages(self): return self.installed_manuals + self.installed_deps
@property
def installed_resources(self): return self.repo.model_sub_repo.resources_from_pkg_list(self.installed_packages)
def installed_resources(self): return self.repo.model_sub_repo.resources_from_pkg_list(p.uuid for p in self.installed_packages)

View File

@@ -24,6 +24,7 @@ comfy['clip_vision'] = 'clip_vision'
comfy['controlnet'] = 'controlnet'
comfy['diffuser'] = 'diffusers'
comfy['diffusion_model'] = 'diffusion_models'
comfy['diffusion_nodel'] = 'diffusion_models'
comfy['embedding'] = 'embeddings'
comfy['gligen'] = 'gligen'
comfy['hypernetwork'] = 'hypernetworks'
@@ -31,7 +32,7 @@ comfy['lora'] = 'loras'
comfy['model_patch'] = 'model_patches'
comfy['photomaker'] = 'photomaker'
comfy['style_model'] = 'style_models'
comfy['test_encoder'] = 'text_encoders'
comfy['text_encoder'] = 'text_encoders'
comfy['unet'] = 'unet'
comfy['upscale_model'] = 'upscale_models'
comfy['vae'] = 'vae'