summaryrefslogtreecommitdiff
path: root/gerber/excellon_statements.py
diff options
context:
space:
mode:
authorPaulo Henrique Silva <ph.silva@gmail.com>2015-04-27 03:58:39 -0300
committerPaulo Henrique Silva <ph.silva@gmail.com>2015-04-27 04:01:48 -0300
commit21d963d244cbc762a736527b25cd8e82ff147f25 (patch)
tree6ecb9b4dcb94992a2ea4a08b1da1a86f53d7d01a /gerber/excellon_statements.py
parente34e1078b67f43be9b678a67cf30d3c53fdea171 (diff)
downloadgerbonara-21d963d244cbc762a736527b25cd8e82ff147f25.tar.gz
gerbonara-21d963d244cbc762a736527b25cd8e82ff147f25.tar.bz2
gerbonara-21d963d244cbc762a736527b25cd8e82ff147f25.zip
Allow 3 digits on Excellon tool selection
Fritzing uses more than 2 digits for tool in their Excellons. To comply with that, I check specifically for 3 or less digits and use as tool number, more than that we treat as the standard (2 for tool and 2 for compensation index)
Diffstat (limited to 'gerber/excellon_statements.py')
-rw-r--r--gerber/excellon_statements.py9
1 files changed, 7 insertions, 2 deletions
diff --git a/gerber/excellon_statements.py b/gerber/excellon_statements.py
index 53ea951..95347d1 100644
--- a/gerber/excellon_statements.py
+++ b/gerber/excellon_statements.py
@@ -234,9 +234,14 @@ class ToolSelectionStmt(ExcellonStatement):
"""
line = line[1:]
compensation_index = None
- tool = int(line[:2])
- if len(line) > 2:
+
+ # up to 3 characters for tool number (Frizting uses that)
+ if len(line) <= 3:
+ tool = int(line)
+ else:
+ tool = int(line[:2])
compensation_index = int(line[2:])
+
return cls(tool, compensation_index)
def __init__(self, tool, compensation_index=None):