summaryrefslogtreecommitdiff
path: root/gerbonara/cad/kicad/base_types.py
diff options
context:
space:
mode:
Diffstat (limited to 'gerbonara/cad/kicad/base_types.py')
-rw-r--r--gerbonara/cad/kicad/base_types.py9
1 files changed, 8 insertions, 1 deletions
diff --git a/gerbonara/cad/kicad/base_types.py b/gerbonara/cad/kicad/base_types.py
index 6e9fe72..0060980 100644
--- a/gerbonara/cad/kicad/base_types.py
+++ b/gerbonara/cad/kicad/base_types.py
@@ -270,7 +270,14 @@ class XYCoord:
@sexp_type('pts')
class PointList:
- xy : List(XYCoord) = field(default_factory=list)
+ @classmethod
+ def __map__(kls, obj, parent=None):
+ _tag, *values = obj
+ return [map_sexp(XYCoord, elem, parent=parent) for elem in values]
+
+ @classmethod
+ def __sexp__(kls, value):
+ yield [kls.name_atom, *(e for elem in value for e in elem.__sexp__(elem))]
@sexp_type('arc')