From edf390fe94efaf3ca56b5615fea77a5480dbe5b7 Mon Sep 17 00:00:00 2001 From: alfrix Date: Sat, 30 Sep 2023 15:52:55 -0300 Subject: [PATCH] spoolman: fix for spools defined with no material or color fixes #1132 --- panels/spoolman.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/panels/spoolman.py b/panels/spoolman.py index 63df4dfa..8c3a7e31 100644 --- a/panels/spoolman.py +++ b/panels/spoolman.py @@ -108,8 +108,9 @@ class SpoolmanSpool(GObject.GObject): SpoolmanSpool._spool_icon = pathlib.Path(_spool_icon_path).read_text() loader = GdkPixbuf.PixbufLoader() + color = self.filament.color_hex if hasattr(self.filament, 'color_hex') else '000000' loader.write( - SpoolmanSpool._spool_icon.replace('var(--filament-color)', f'#{self.filament.color_hex}').encode() + SpoolmanSpool._spool_icon.replace('var(--filament-color)', f'#{color}').encode() ) loader.close() self._icon = loader.get_pixbuf() @@ -396,7 +397,9 @@ class Panel(ScreenPanel): for spool in spools["result"]: spoolObject = SpoolmanSpool(**spool) self._model.append(None, [spoolObject]) - if spoolObject.filament.material not in materials: + if not hasattr(spoolObject.filament, 'material'): + spoolObject.filament.material = '' + elif spoolObject.filament.material not in materials: materials.append(spoolObject.filament.material) materials.sort()