From a1b8cbf86160eb2fbe73ffda61c953589ffa3512 Mon Sep 17 00:00:00 2001 From: jaseg Date: Tue, 18 Jul 2023 21:54:26 +0200 Subject: Make kicad eat schematics written by gerbonara --- gerbonara/cad/kicad/symbols.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'gerbonara/cad/kicad/symbols.py') diff --git a/gerbonara/cad/kicad/symbols.py b/gerbonara/cad/kicad/symbols.py index 7e16d38..0f32b4d 100644 --- a/gerbonara/cad/kicad/symbols.py +++ b/gerbonara/cad/kicad/symbols.py @@ -247,7 +247,7 @@ class Unit: if not (m := re.fullmatch(r'(.*)_([0-9]+)_([0-9]+)', self.name)): raise FormatError(f'Invalid unit name "{self.name}"') sym_name, unit_index, demorgan_style = m.groups() - if sym_name != self.symbol.name: + if sym_name != self.symbol.raw_name.rpartition(':')[2]: raise FormatError(f'Unit name "{self.name}" does not match symbol name "{self.symbol.name}"') self.demorgan_style = int(demorgan_style) self.unit_index = int(unit_index) @@ -271,7 +271,7 @@ class Unit: @sexp_type('symbol') class Symbol: - name: str = None + raw_name: str = None extends: Named(str) = None power: Wrap(Flag()) = False pin_numbers: OmitDefault(PinNumberSpec) = field(default_factory=PinNumberSpec) @@ -284,10 +284,13 @@ class Symbol: styles: {str: {str: Unit}} = None global_units: {str: {str: Unit}} = None library = None + name: str = None + library_name: str = None def __after_parse__(self, parent): self.library = parent + self.library_name, _, self.name = self.raw_name.rpartition(':') self.global_units = {} self.styles = {} -- cgit