summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKaalleen <36401965+kaalleen@users.noreply.github.com>2024-06-12 12:25:52 +0200
committerGitHub <noreply@github.com>2024-06-12 12:25:52 +0200
commit39d9defef4a6c813e40df9a8de254af422af6ccd (patch)
tree053a5173de33a7b657f733c9a07bfe7d79350c21
parent45a3eb49b14ed804bbcf2367b29b3d085a07e6db (diff)
improve error message for files with too many color changes (#2984)
-rw-r--r--lib/output.py14
m---------pyembroidery0
2 files changed, 14 insertions, 0 deletions
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
-Subproject b24efddbda3775bf6750e1aab0abbaf1e0a0527
+Subproject 4990269d02d88b7bb75f26ee7ed1935e66ccb97