diff options
author | Kevin O'Connor <kevin@koconnor.net> | 2022-05-09 16:33:46 -0400 |
---|---|---|
committer | Kevin O'Connor <kevin@koconnor.net> | 2022-05-09 16:33:46 -0400 |
commit | a94146b554134b4ef6727ec3f48de1268504b51b (patch) | |
tree | 80d444d61ecf8d2d292d0ca5dcd54e9755058264 /klippy/pins.py | |
parent | c263f76f9fca8de496ebd93e08bfd8c01ae9f3d9 (diff) | |
download | kutter-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.py | 4 |
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 += "[^~] " |