summaryrefslogtreecommitdiff
path: root/lib/threads
diff options
context:
space:
mode:
authorKaalleen <36401965+kaalleen@users.noreply.github.com>2022-07-04 13:13:05 +0200
committerGitHub <noreply@github.com>2022-07-04 13:13:05 +0200
commit8d9a469ae2c289d2fde46c64d6d6d37e27dc9520 (patch)
treeb5c9337ff16f90b4fe71f590f33fe6686bf92b40 /lib/threads
parent4c3a11bb8252aaaeb9abbd7f5f26c43e8a495d6b (diff)
Ignore invalid palettes (#1718)
Diffstat (limited to 'lib/threads')
-rw-r--r--lib/threads/catalog.py3
-rw-r--r--lib/threads/palette.py5
2 files changed, 7 insertions, 1 deletions
diff --git a/lib/threads/catalog.py b/lib/threads/catalog.py
index c12ca1fe..68dc2009 100644
--- a/lib/threads/catalog.py
+++ b/lib/threads/catalog.py
@@ -42,6 +42,9 @@ class _ThreadCatalog(Sequence):
for palette_file in glob(os.path.join(path, 'InkStitch*.gpl')):
palette_basename = os.path.basename(palette_file)
if palette_basename not in palettes:
+ palette = ThreadPalette(palette_file)
+ if not palette.is_gimp_palette:
+ continue
self.palettes.append(ThreadPalette(palette_file))
palettes.append(palette_basename)
diff --git a/lib/threads/palette.py b/lib/threads/palette.py
index 7a6bf153..e0e3a0ab 100644
--- a/lib/threads/palette.py
+++ b/lib/threads/palette.py
@@ -40,8 +40,11 @@ class ThreadPalette(Set):
with open(palette_file, encoding='utf8') as palette:
line = palette.readline().strip()
+
+ self.is_gimp_palette = True
if line.lower() != "gimp palette":
- raise ValueError("Invalid gimp palette header")
+ self.is_gimp_palette = False
+ return
self.name = palette.readline().strip()
if self.name.lower().startswith('name: ink/stitch: '):