From 206bbfa8424442d49dd62520255aaf47f788f663 Mon Sep 17 00:00:00 2001 From: Trygve Laugstøl Date: Tue, 12 Dec 2017 15:34:46 +0100 Subject: o Adding a 'kicad' format that can be used to compare the output to KiCAD's output. --- src/ee/kicad/pcb/__init__.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'src/ee/kicad/pcb') diff --git a/src/ee/kicad/pcb/__init__.py b/src/ee/kicad/pcb/__init__.py index 679c5ea..79987e6 100644 --- a/src/ee/kicad/pcb/__init__.py +++ b/src/ee/kicad/pcb/__init__.py @@ -26,7 +26,8 @@ class Module(object): for k, v in kwargs.items(): setattr(self, k, v) - self.fp_texts = self.fp_texts or [] + self.fp_texts = self.fp_texts if hasattr(self, "fp_texts") else [] + self.attr = self.attr if hasattr(self, "attr") else [] def filter_fp_text(self, kind = None): filters = [] @@ -36,6 +37,9 @@ class Module(object): return (fp_text for fp_text in self.fp_texts if run_filters(filters, fp_text)) + def has_attr(self, name): + return next((True for a in self.attr if a == name), False) + @auto_str class Pad(object): def __init__(self, **kwargs): @@ -145,6 +149,8 @@ def parse(path): args[token] = _parse_text(rparen = True) elif token == "at": args[token] = _parse_at() + elif token == "attr": + args[token] = [_parse_text(rparen = True)] elif token == "pad": pads.append(_parse_pad()) elif token == "fp_text": -- cgit v1.2.3