From 39d9defef4a6c813e40df9a8de254af422af6ccd Mon Sep 17 00:00:00 2001 From: Kaalleen <36401965+kaalleen@users.noreply.github.com> Date: Wed, 12 Jun 2024 12:25:52 +0200 Subject: improve error message for files with too many color changes (#2984) --- lib/output.py | 14 ++++++++++++++ pyembroidery | 2 +- 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/lib/output.py b/lib/output.py index fb4580b7..23f0cf1e 100644 --- a/lib/output.py +++ b/lib/output.py @@ -4,9 +4,12 @@ # Licensed under the GNU GPL version 3.0 or later. See the file LICENSE for details. import os +import re import sys import inkex +from pyembroidery.exceptions import TooManyColorChangesError + import pyembroidery from .commands import global_command @@ -113,3 +116,14 @@ def write_embroidery_file(file_path, stitch_plan, svg, settings={}): msg = _("Error writing to %(path)s: %(error)s") % dict(path=file_path, error=e.strerror) inkex.errormsg(msg) sys.exit(1) + except TooManyColorChangesError as e: + num_color_changes = re.search("d+", str(e)).group() + msg = _("Couldn't save embrodiery file.") + msg += '\n\n' + msg += _("There are {num_color_changes} in your design. This is way too many.").format(num_color_changes=num_color_changes) + msg += '\n' + msg += _("Please reduce color changes. Find more information on our website:") + msg += '\n\n' + msg += _("http://inkstitch.org/docs/faq/#too-many-color-changes") + inkex.errormsg(msg) + sys.exit(1) diff --git a/pyembroidery b/pyembroidery index b24efddb..4990269d 160000 --- a/pyembroidery +++ b/pyembroidery @@ -1 +1 @@ -Subproject commit b24efddbda3775bf6750e1aab0abbaf1e0a05276 +Subproject commit 4990269d02d88b7bb75f26ee7ed1935e66ccb97e -- cgit v1.2.3