fix(routes): add support for metadata archive settings in model processing

This commit is contained in:
Will Miao
2025-09-11 09:31:58 +08:00
parent a1a55a1002
commit 1edf7126bb
2 changed files with 9 additions and 1 deletions

View File

@@ -612,8 +612,9 @@ class BaseModelRoutes(ABC):
needs_resort = False
# Prepare models to process, only those without CivitAI data or missing tags, description, or creator
enable_metadata_archive_db = settings.get('enable_metadata_archive_db', False)
to_process = [
model for model in cache.raw_data
model for model in cache.raw_data
if (
model.get('sha256')
and (
@@ -623,6 +624,10 @@ class BaseModelRoutes(ABC):
or not model.get('modelDescription')
or not (model.get('civitai') and model['civitai'].get('creator'))
)
and (
(enable_metadata_archive_db)
or (not enable_metadata_archive_db and model.get('from_civitai') is True)
)
)
]
total_to_process = len(to_process)

View File

@@ -13,6 +13,7 @@ from ..utils.exif_utils import ExifUtils
from ..utils.metadata_manager import MetadataManager
from ..services.websocket_manager import ws_manager
from ..services.metadata_service import get_default_metadata_provider, get_metadata_provider
from ..services.settings_manager import settings
logger = logging.getLogger(__name__)
@@ -207,6 +208,8 @@ class ModelRouteUtils:
local_metadata = await ModelRouteUtils.load_local_metadata(metadata_path)
if model_data.get('from_civitai') is False:
if not settings.get('enable_metadata_archive_db', False):
return False
# Likely deleted from CivitAI, use archive_db if available
metadata_provider = await get_metadata_provider('sqlite')
else: