diff --git a/py/routes/recipe_routes.py b/py/routes/recipe_routes.py index 07fcb287..cf1c67c2 100644 --- a/py/routes/recipe_routes.py +++ b/py/routes/recipe_routes.py @@ -1257,7 +1257,7 @@ class RecipeRoutes: if lora.get("isDeleted", False): continue - if not self.recipe_scanner._lora_scanner.has_lora_hash(lora.get("hash", "")): + if not self.recipe_scanner._lora_scanner.has_hash(lora.get("hash", "")): continue # Get the strength @@ -1477,9 +1477,9 @@ class RecipeRoutes: if 'loras' in recipe: for lora in recipe['loras']: if 'hash' in lora and lora['hash']: - lora['inLibrary'] = self.recipe_scanner._lora_scanner.has_lora_hash(lora['hash'].lower()) + lora['inLibrary'] = self.recipe_scanner._lora_scanner.has_hash(lora['hash'].lower()) lora['preview_url'] = self.recipe_scanner._lora_scanner.get_preview_url_by_hash(lora['hash'].lower()) - lora['localPath'] = self.recipe_scanner._lora_scanner.get_lora_path_by_hash(lora['hash'].lower()) + lora['localPath'] = self.recipe_scanner._lora_scanner.get_path_by_hash(lora['hash'].lower()) # Ensure file_url is set (needed by frontend) if 'file_path' in recipe: diff --git a/py/services/checkpoint_scanner.py b/py/services/checkpoint_scanner.py index 95569d4f..d4696631 100644 --- a/py/services/checkpoint_scanner.py +++ b/py/services/checkpoint_scanner.py @@ -23,17 +23,4 @@ class CheckpointScanner(ModelScanner): def get_model_roots(self) -> List[str]: """Get checkpoint root directories""" - return config.base_models_roots - - # Checkpoint-specific hash index functionality - def has_checkpoint_hash(self, sha256: str) -> bool: - """Check if a checkpoint with given hash exists""" - return self.has_hash(sha256) - - def get_checkpoint_path_by_hash(self, sha256: str) -> str: - """Get file path for a checkpoint by its hash""" - return self.get_path_by_hash(sha256) - - def get_checkpoint_hash_by_path(self, file_path: str) -> str: - """Get hash for a checkpoint by its file path""" - return self.get_hash_by_path(file_path) \ No newline at end of file + return config.base_models_roots \ No newline at end of file diff --git a/py/services/lora_scanner.py b/py/services/lora_scanner.py index f4066dbe..6feff477 100644 --- a/py/services/lora_scanner.py +++ b/py/services/lora_scanner.py @@ -1,5 +1,5 @@ import logging -from typing import List, Optional +from typing import List from ..utils.models import LoraMetadata from ..config import config @@ -28,19 +28,6 @@ class LoraScanner(ModelScanner): """Get lora root directories""" return config.loras_roots - # Lora-specific hash index functionality - def has_lora_hash(self, sha256: str) -> bool: - """Check if a LoRA with given hash exists""" - return self.has_hash(sha256) - - def get_lora_path_by_hash(self, sha256: str) -> Optional[str]: - """Get file path for a LoRA by its hash""" - return self.get_path_by_hash(sha256) - - def get_lora_hash_by_path(self, file_path: str) -> Optional[str]: - """Get hash for a LoRA by its file path""" - return self.get_hash_by_path(file_path) - async def diagnose_hash_index(self): """Diagnostic method to verify hash index functionality""" print("\n\n*** DIAGNOSING LORA HASH INDEX ***\n\n", file=sys.stderr) diff --git a/py/services/recipe_scanner.py b/py/services/recipe_scanner.py index 6d8491ae..89bbef14 100644 --- a/py/services/recipe_scanner.py +++ b/py/services/recipe_scanner.py @@ -393,8 +393,8 @@ class RecipeScanner: if 'hash' in lora and (not lora.get('file_name') or not lora['file_name']): hash_value = lora['hash'] - if self._lora_scanner.has_lora_hash(hash_value): - lora_path = self._lora_scanner.get_lora_path_by_hash(hash_value) + if self._lora_scanner.has_hash(hash_value): + lora_path = self._lora_scanner.get_path_by_hash(hash_value) if lora_path: file_name = os.path.splitext(os.path.basename(lora_path))[0] lora['file_name'] = file_name @@ -465,7 +465,7 @@ class RecipeScanner: # Count occurrences of each base model for lora in loras: if 'hash' in lora: - lora_path = self._lora_scanner.get_lora_path_by_hash(lora['hash']) + lora_path = self._lora_scanner.get_path_by_hash(lora['hash']) if lora_path: base_model = await self._get_base_model_for_lora(lora_path) if base_model: @@ -603,9 +603,9 @@ class RecipeScanner: if 'loras' in item: for lora in item['loras']: if 'hash' in lora and lora['hash']: - lora['inLibrary'] = self._lora_scanner.has_lora_hash(lora['hash'].lower()) + lora['inLibrary'] = self._lora_scanner.has_hash(lora['hash'].lower()) lora['preview_url'] = self._lora_scanner.get_preview_url_by_hash(lora['hash'].lower()) - lora['localPath'] = self._lora_scanner.get_lora_path_by_hash(lora['hash'].lower()) + lora['localPath'] = self._lora_scanner.get_path_by_hash(lora['hash'].lower()) result = { 'items': paginated_items, @@ -655,9 +655,9 @@ class RecipeScanner: for lora in formatted_recipe['loras']: if 'hash' in lora and lora['hash']: lora_hash = lora['hash'].lower() - lora['inLibrary'] = self._lora_scanner.has_lora_hash(lora_hash) + lora['inLibrary'] = self._lora_scanner.has_hash(lora_hash) lora['preview_url'] = self._lora_scanner.get_preview_url_by_hash(lora_hash) - lora['localPath'] = self._lora_scanner.get_lora_path_by_hash(lora_hash) + lora['localPath'] = self._lora_scanner.get_path_by_hash(lora_hash) return formatted_recipe