summaryrefslogtreecommitdiff
path: root/gerber
diff options
context:
space:
mode:
authorPaulo Henrique Silva <ph.silva@gmail.com>2015-11-23 16:02:16 -0200
committerGarret Fick <garret@ficksworkshop.com>2016-05-28 12:39:05 +0800
commit49dadd46ee62a863b75087e9ed8f0590183bd525 (patch)
tree160016571390f386c7b4524c3034752cbe6a5eed /gerber
parentc9c1313d598d5afa8cb387a2cfcd4a4281086e01 (diff)
downloadgerbonara-49dadd46ee62a863b75087e9ed8f0590183bd525.tar.gz
gerbonara-49dadd46ee62a863b75087e9ed8f0590183bd525.tar.bz2
gerbonara-49dadd46ee62a863b75087e9ed8f0590183bd525.zip
Fix AMParamStmt to_gerber to write changes back.
AMParamStmt was not calling to_gerber on each of its primitives on his own to_gerber method. That way primitives that changes after reading, such as when you call to_inch/to_metric was failing because it was writing only the original macro back.
Diffstat (limited to 'gerber')
-rw-r--r--gerber/gerber_statements.py2
-rw-r--r--gerber/tests/test_gerber_statements.py4
2 files changed, 3 insertions, 3 deletions
diff --git a/gerber/gerber_statements.py b/gerber/gerber_statements.py
index b171a7f..725febf 100644
--- a/gerber/gerber_statements.py
+++ b/gerber/gerber_statements.py
@@ -440,7 +440,7 @@ class AMParamStmt(ParamStmt):
primitive.to_metric()
def to_gerber(self, settings=None):
- return '%AM{0}*{1}*%'.format(self.name, self.macro)
+ return '%AM{0}*{1}%'.format(self.name, "".join([primitive.to_gerber() for primitive in self.primitives]))
def __str__(self):
return '<Aperture Macro %s: %s>' % (self.name, self.macro)
diff --git a/gerber/tests/test_gerber_statements.py b/gerber/tests/test_gerber_statements.py
index b5c20b1..79ce76b 100644
--- a/gerber/tests/test_gerber_statements.py
+++ b/gerber/tests/test_gerber_statements.py
@@ -446,11 +446,11 @@ def testAMParamStmt_conversion():
def test_AMParamStmt_dump():
name = 'POLYGON'
- macro = '5,1,8,25.4,25.4,25.4,0'
+ macro = '5,1,8,25.4,25.4,25.4,0.0'
s = AMParamStmt.from_dict({'param': 'AM', 'name': name, 'macro': macro })
s.build()
- assert_equal(s.to_gerber(), '%AMPOLYGON*5,1,8,25.4,25.4,25.4,0*%')
+ assert_equal(s.to_gerber(), '%AMPOLYGON*5,1,8,25.4,25.4,25.4,0.0*%')
def test_AMParamStmt_string():
name = 'POLYGON'