From 35618179036409c71c87746c32a27238260a02a4 Mon Sep 17 00:00:00 2001 From: jaseg Date: Mon, 12 Jun 2023 18:39:33 +0200 Subject: Add basic KiCad PCB file format support --- gerbonara/cad/kicad/sexp_mapper.py | 3 +++ 1 file changed, 3 insertions(+) (limited to 'gerbonara/cad/kicad/sexp_mapper.py') diff --git a/gerbonara/cad/kicad/sexp_mapper.py b/gerbonara/cad/kicad/sexp_mapper.py index 1d0f942..fa5f702 100644 --- a/gerbonara/cad/kicad/sexp_mapper.py +++ b/gerbonara/cad/kicad/sexp_mapper.py @@ -64,6 +64,7 @@ def sexp(t, v): def map_sexp(t, v, parent=None): if t is not Atom and hasattr(t, '__map__'): return t.__map__(v, parent=parent) + elif t in (int, float, str, Atom): v, = v if not isinstance(v, t): @@ -73,9 +74,11 @@ def map_sexp(t, v, parent=None): else: raise TypeError(f'Cannot map s-expression value {v} of type {type(v)} to Python type {t}') return v + elif isinstance(t, list): t, = t return [map_sexp(t, elem, parent=parent) for elem in v] + else: raise TypeError(f'Python type {t} has no defined s-expression deserialization') -- cgit