aboutsummaryrefslogtreecommitdiffstats
path: root/klippy/pins.py
diff options
context:
space:
mode:
authorKevin O'Connor <kevin@koconnor.net>2022-05-09 16:33:46 -0400
committerKevin O'Connor <kevin@koconnor.net>2022-05-09 16:33:46 -0400
commita94146b554134b4ef6727ec3f48de1268504b51b (patch)
tree80d444d61ecf8d2d292d0ca5dcd54e9755058264 /klippy/pins.py
parentc263f76f9fca8de496ebd93e08bfd8c01ae9f3d9 (diff)
downloadkutter-a94146b554134b4ef6727ec3f48de1268504b51b.tar.gz
kutter-a94146b554134b4ef6727ec3f48de1268504b51b.tar.xz
kutter-a94146b554134b4ef6727ec3f48de1268504b51b.zip
pins: Improve pin description checks
Make sure whitespace isn't in the pin description. Also make sure an alias doesn't map to an invalid pin. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
Diffstat (limited to 'klippy/pins.py')
-rw-r--r--klippy/pins.py4
1 files changed, 3 insertions, 1 deletions
diff --git a/klippy/pins.py b/klippy/pins.py
index b0930333..35fc58a2 100644
--- a/klippy/pins.py
+++ b/klippy/pins.py
@@ -30,6 +30,8 @@ class PinResolver:
if alias in self.aliases and self.aliases[alias] != pin:
raise error("Alias %s mapped to %s - can't alias to %s" % (
alias, self.aliases[alias], pin))
+ if [c for c in '^~!:' if c in pin] or ''.join(pin.split()) != pin:
+ raise error("Invalid pin alias '%s'\n" % (pin,))
if pin in self.aliases:
pin = self.aliases[pin]
self.aliases[alias] = pin
@@ -79,7 +81,7 @@ class PrinterPins:
chip_name, pin = [s.strip() for s in desc.split(':', 1)]
if chip_name not in self.chips:
raise error("Unknown pin chip name '%s'" % (chip_name,))
- if [c for c in '^~!: ' if c in pin]:
+ if [c for c in '^~!:' if c in pin] or ''.join(pin.split()) != pin:
format = ""
if can_pullup:
format += "[^~] "