Skip to content

Commit 8ce6a7c

Browse files
committed
Show a warning when trying to use an upscale model that doesn't exist
- can happen when its name was stored in a document, but has been deleted/renamed since then
1 parent 721562f commit 8ce6a7c

File tree

1 file changed

+5
-2
lines changed

1 file changed

+5
-2
lines changed

ai_diffusion/model.py

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -262,6 +262,10 @@ def _prepare_upscale_image(self, dryrun=False):
262262
image = self._doc.get_image(Bounds(0, 0, *extent)) if not dryrun else DummyImage(extent)
263263
params = self.upscale.params
264264
params.upscale.model = params.upscale.model or client.models.default_upscaler
265+
if params.upscale.model not in client.models.upscalers:
266+
msg = _("The upscale model used by the document is not available on the server")
267+
self.report_error(Error(ErrorKind.warning, msg + f": {params.upscale.model}"))
268+
self.upscale.upscaler = params.upscale.model = client.models.default_upscaler
265269
bounds = Bounds(0, 0, *self._doc.extent)
266270
if params.use_prompt and not dryrun:
267271
conditioning, job_regions = process_regions(self.regions, bounds, min_coverage=0)
@@ -300,15 +304,14 @@ def _prepare_upscale_image(self, dryrun=False):
300304

301305
def upscale_image(self):
302306
try:
307+
self.clear_error()
303308
inputs, job_params = self._prepare_upscale_image()
304309
job = self.jobs.add(JobKind.upscaling, job_params)
305310
except Exception as e:
306311
self.report_error(util.log_error(e))
307312
return
308313

309-
self.clear_error()
310314
self.upscale.set_in_progress(True)
311-
312315
eventloop.run(_report_errors(self, self._enqueue_job(job, inputs)))
313316

314317
self._doc.resize(job.params.bounds.extent)

0 commit comments

Comments
 (0)