board_pins: Improve config error checking

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
This commit is contained in:
Kevin O'Connor 2019-08-19 21:58:11 -04:00
parent 67ddac776d
commit b4280fdfe0
1 changed files with 8 additions and 3 deletions

View File

@ -8,10 +8,15 @@ class PrinterBoardAliases:
def __init__(self, config, chip_name): def __init__(self, config, chip_name):
ppins = config.get_printer().lookup_object('pins') ppins = config.get_printer().lookup_object('pins')
pin_resolver = ppins.get_pin_resolver(chip_name) pin_resolver = ppins.get_pin_resolver(chip_name)
aliases = config.get("aliases") aliases = config.get("aliases").strip()
if aliases.endswith(','):
aliases = aliases[:-1]
parts = [a.split('=', 1) for a in aliases.split(',')] parts = [a.split('=', 1) for a in aliases.split(',')]
for name, value in parts: for pair in parts:
name, value = name.strip(), value.strip() if len(pair) != 2:
raise ppins.error("Unable to parse aliases in %s"
% (config.get_name(),))
name, value = [s.strip() for s in pair]
if value.startswith('<') and value.endswith('>'): if value.startswith('<') and value.endswith('>'):
pin_resolver.reserve_pin(name, value) pin_resolver.reserve_pin(name, value)
else: else: