feat(ai-studio): export final selections
This commit is contained in:
+39
-1
@@ -6,7 +6,7 @@ import datetime as _dt
|
||||
import re
|
||||
import threading
|
||||
|
||||
from .. import image_studio, image_studio_generation, image_studio_images
|
||||
from .. import image_studio, image_studio_export, image_studio_generation, image_studio_images
|
||||
from .widgets import *
|
||||
|
||||
|
||||
@@ -192,6 +192,44 @@ class ImageStudioGenerateJobsWorker(BaseWorker):
|
||||
return summary
|
||||
|
||||
|
||||
class ImageStudioExportWorker(BaseWorker):
|
||||
"""Export AI studio final selections to local JPEG files."""
|
||||
|
||||
def __init__(
|
||||
self,
|
||||
project_id,
|
||||
parent_dir,
|
||||
*,
|
||||
existing_mode=image_studio_export.EXISTING_FAIL,
|
||||
db_path=None,
|
||||
config=None,
|
||||
):
|
||||
super().__init__()
|
||||
self.project_id = int(project_id)
|
||||
self.parent_dir = parent_dir
|
||||
self.existing_mode = existing_mode
|
||||
self.db_path = db_path
|
||||
self.config = config
|
||||
|
||||
def execute(self):
|
||||
self.log.emit("[AI工场] 导出终选:开始")
|
||||
result = image_studio_export.export_project_selection(
|
||||
self.project_id,
|
||||
self.parent_dir,
|
||||
existing_mode=self.existing_mode,
|
||||
path=self.db_path,
|
||||
config=self.config,
|
||||
)
|
||||
self.log.emit("[AI工场] 导出终选:成功")
|
||||
return {
|
||||
"target_dir": result.target_dir,
|
||||
"main_count": result.main_count,
|
||||
"detail_count": result.detail_count,
|
||||
"file_count": len(result.files),
|
||||
"existing_mode": result.existing_mode,
|
||||
}
|
||||
|
||||
|
||||
def _generation_mode_label(mode):
|
||||
mode = appconfig.normalize_generate_mode(mode)
|
||||
return {
|
||||
|
||||
Reference in New Issue
Block a user