From 8d9a469ae2c289d2fde46c64d6d6d37e27dc9520 Mon Sep 17 00:00:00 2001 From: Kaalleen <36401965+kaalleen@users.noreply.github.com> Date: Mon, 4 Jul 2022 13:13:05 +0200 Subject: Ignore invalid palettes (#1718) --- lib/threads/catalog.py | 3 +++ lib/threads/palette.py | 5 ++++- 2 files changed, 7 insertions(+), 1 deletion(-) (limited to 'lib/threads') 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: '): -- cgit v1.2.3