summaryrefslogtreecommitdiff
path: root/gerber/rs274x.py
diff options
context:
space:
mode:
authorPaulo Henrique Silva <ph.silva@gmail.com>2015-05-21 16:15:55 -0300
committerPaulo Henrique Silva <ph.silva@gmail.com>2015-05-21 16:15:55 -0300
commitaff36a4dca0d2d06b00c5f1e1a0703400fbe3b6b (patch)
tree72c356d57627e5523b417aff44df5d9dca16ab88 /gerber/rs274x.py
parent2fe5f36db233e6c45e0d6b2443b025baf173211e (diff)
downloadgerbonara-aff36a4dca0d2d06b00c5f1e1a0703400fbe3b6b.tar.gz
gerbonara-aff36a4dca0d2d06b00c5f1e1a0703400fbe3b6b.tar.bz2
gerbonara-aff36a4dca0d2d06b00c5f1e1a0703400fbe3b6b.zip
Fix multiline read of mixed statements (%XXX*% followed by DNN*)
We now check if there is a %XXX*% command inside the line before considering it a multiline statement.
Diffstat (limited to 'gerber/rs274x.py')
-rw-r--r--gerber/rs274x.py4
1 files changed, 3 insertions, 1 deletions
diff --git a/gerber/rs274x.py b/gerber/rs274x.py
index 5d1f5fe..2af3ed6 100644
--- a/gerber/rs274x.py
+++ b/gerber/rs274x.py
@@ -241,10 +241,11 @@ class GerberParser(object):
continue
# deal with multi-line parameters
- if line.startswith("%") and not line.endswith("%"):
+ if line.startswith("%") and not line.endswith("%") and not "%" in line[1:]:
oldline = line
continue
+
did_something = True # make sure we do at least one loop
while did_something and len(line) > 0:
did_something = False
@@ -292,6 +293,7 @@ class GerberParser(object):
# parameter
(param, r) = _match_one_from_many(self.PARAM_STMT, line)
+
if param:
if param["param"] == "FS":
stmt = FSParamStmt.from_dict(param)