From 422af94b3772616e9dc276fcddd493a899a6d462 Mon Sep 17 00:00:00 2001 From: Michael Fogleman Date: Sun, 3 Dec 2017 22:22:22 -0500 Subject: [PATCH] Drawing dumps/loads --- axi/drawing.py | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/axi/drawing.py b/axi/drawing.py index 2afad64..6e322f2 100644 --- a/axi/drawing.py +++ b/axi/drawing.py @@ -14,6 +14,21 @@ class Drawing(object): self.paths = paths or [] self._bounds = None + @classmethod + def loads(cls, data): + paths = [] + for line in data.split('\n'): + points = line.strip().split() + points = [map(float, x.split(',')) for x in points] + paths.append(points) + return cls(paths) + + def dumps(self): + lines = [] + for path in self.paths: + lines.append(' '.join('%f,%f' % (x, y) for x, y in path)) + return '\n'.join(lines) + @property def bounds(self): if not self._bounds: