summaryrefslogtreecommitdiff
path: root/gerber
diff options
context:
space:
mode:
authorPaulo Henrique Silva <ph.silva@gmail.com>2015-02-19 00:36:26 -0200
committerPaulo Henrique Silva <ph.silva@gmail.com>2015-02-19 00:36:26 -0200
commit4b92e1b59dcaff48bda4e1c906506432651fcd4f (patch)
treea1e0e32e4988cf66840dcae69c823d731069c1dd /gerber
parent67f2af2015914da1cd8e06c254c8b6ff347fc9b2 (diff)
parente71d7a24b5be3e68d36494869595eec934db4bd2 (diff)
downloadgerbonara-4b92e1b59dcaff48bda4e1c906506432651fcd4f.tar.gz
gerbonara-4b92e1b59dcaff48bda4e1c906506432651fcd4f.tar.bz2
gerbonara-4b92e1b59dcaff48bda4e1c906506432651fcd4f.zip
Merge pull request #19 from curtacircuitos/python3
Python 3 tests passing
Diffstat (limited to 'gerber')
-rwxr-xr-xgerber/excellon.py10
-rw-r--r--gerber/excellon_statements.py2
-rw-r--r--gerber/gerber_statements.py3
-rw-r--r--gerber/tests/test_excellon.py6
-rw-r--r--gerber/tests/test_gerber_statements.py3
-rw-r--r--gerber/tests/tests.py2
-rw-r--r--gerber/utils.py3
7 files changed, 14 insertions, 15 deletions
diff --git a/gerber/excellon.py b/gerber/excellon.py
index a339827..ebc307f 100755
--- a/gerber/excellon.py
+++ b/gerber/excellon.py
@@ -142,7 +142,7 @@ class ExcellonFile(CamFile):
self.units = 'metric'
for statement in self.statements:
statement.to_metric()
- for tool in self.tools.itervalues():
+ for tool in iter(self.tools.values()):
tool.to_metric()
for primitive in self.primitives:
primitive.to_metric()
@@ -290,7 +290,7 @@ class ExcellonParser(object):
elif line[0] == 'R' and self.state != 'HEADER':
stmt = RepeatHoleStmt.from_excellon(line, self._settings())
self.statements.append(stmt)
- for i in xrange(stmt.count):
+ for i in range(stmt.count):
self.pos[0] += stmt.xdelta
self.pos[1] += stmt.ydelta
self.hits.append((self.active_tool, tuple(self.pos)))
@@ -390,8 +390,8 @@ def detect_excellon_format(filename):
pass
# See if any of the dimensions are left with only a single option
- formats = set(key[0] for key in results.iterkeys())
- zeros = set(key[1] for key in results.iterkeys())
+ formats = set(key[0] for key in iter(results.keys()))
+ zeros = set(key[1] for key in iter(results.keys()))
if len(formats) == 1:
detected_format = formats.pop()
if len(zeros) == 1:
@@ -408,7 +408,7 @@ def detect_excellon_format(filename):
size, count, diameter = results[key]
scores[key] = _layer_size_score(size, count, diameter)
minscore = min(scores.values())
- for key in scores.iterkeys():
+ for key in iter(scores.keys()):
if scores[key] == minscore:
return {'format': key[0], 'zeros': key[1]}
diff --git a/gerber/excellon_statements.py b/gerber/excellon_statements.py
index 99f7d46..356a96b 100644
--- a/gerber/excellon_statements.py
+++ b/gerber/excellon_statements.py
@@ -586,4 +586,4 @@ def pairwise(iterator):
"""
itr = iter(iterator)
while True:
- yield tuple([itr.next() for i in range(2)])
+ yield tuple([next(itr) for i in range(2)])
diff --git a/gerber/gerber_statements.py b/gerber/gerber_statements.py
index b231cdb..f8385c0 100644
--- a/gerber/gerber_statements.py
+++ b/gerber/gerber_statements.py
@@ -93,8 +93,7 @@ class FSParamStmt(ParamStmt):
param = stmt_dict.get('param')
zeros = 'leading' if stmt_dict.get('zero') == 'L' else 'trailing'
notation = 'absolute' if stmt_dict.get('notation') == 'A' else 'incremental'
- x = map(int, stmt_dict.get('x'))
- fmt = (x[0], x[1])
+ fmt = tuple(map(int, stmt_dict.get('x')))
return cls(param, zeros, notation, fmt)
def __init__(self, param, zero_suppression='leading',
diff --git a/gerber/tests/test_excellon.py b/gerber/tests/test_excellon.py
index 24cf793..d47ad6a 100644
--- a/gerber/tests/test_excellon.py
+++ b/gerber/tests/test_excellon.py
@@ -7,7 +7,7 @@ import os
from ..cam import FileSettings
from ..excellon import read, detect_excellon_format, ExcellonFile, ExcellonParser
from ..excellon_statements import ExcellonTool
-from tests import *
+from .tests import *
NCDRILL_FILE = os.path.join(os.path.dirname(__file__),
@@ -47,14 +47,14 @@ def test_conversion():
ncdrill.to_metric()
assert_equal(ncdrill.settings.units, 'metric')
- for tool in ncdrill_inch.tools.itervalues():
+ for tool in iter(ncdrill_inch.tools.values()):
tool.to_metric()
for primitive in ncdrill_inch.primitives:
primitive.to_metric()
for statement in ncdrill_inch.statements:
statement.to_metric()
- for m_tool, i_tool in zip(ncdrill.tools.itervalues(), ncdrill_inch.tools.itervalues()):
+ for m_tool, i_tool in zip(iter(ncdrill.tools.values()), iter(ncdrill_inch.tools.values())):
assert_equal(i_tool, m_tool)
for m, i in zip(ncdrill.primitives,ncdrill_inch.primitives):
diff --git a/gerber/tests/test_gerber_statements.py b/gerber/tests/test_gerber_statements.py
index bf7035f..b473cf9 100644
--- a/gerber/tests/test_gerber_statements.py
+++ b/gerber/tests/test_gerber_statements.py
@@ -539,7 +539,8 @@ def test_statement_string():
stmt = Statement('PARAM')
assert_equal(str(stmt), '<Statement type=PARAM>')
stmt.test='PASS'
- assert_equal(str(stmt), '<Statement test=PASS type=PARAM>')
+ assert_true('test=PASS' in str(stmt))
+ assert_true('type=PARAM' in str(stmt))
def test_ADParamStmt_factory():
diff --git a/gerber/tests/tests.py b/gerber/tests/tests.py
index db02949..2c75acd 100644
--- a/gerber/tests/tests.py
+++ b/gerber/tests/tests.py
@@ -20,5 +20,5 @@ __all__ = ['assert_in', 'assert_not_in', 'assert_equal', 'assert_not_equal',
def assert_array_almost_equal(arr1, arr2, decimal=6):
assert_equal(len(arr1), len(arr2))
- for i in xrange(len(arr1)):
+ for i in range(len(arr1)):
assert_almost_equal(arr1[i], arr2[i], decimal)
diff --git a/gerber/utils.py b/gerber/utils.py
index 542611d..8cd4965 100644
--- a/gerber/utils.py
+++ b/gerber/utils.py
@@ -74,7 +74,6 @@ def parse_gerber_value(value, format=(2, 5), zero_suppression='trailing'):
raise ValueError('Parser only supports precision up to 6:7 format')
# Remove extraneous information
- #value = value.strip()
value = value.lstrip('+')
negative = '-' in value
if negative:
@@ -140,7 +139,7 @@ def write_gerber_value(value, format=(2, 5), zero_suppression='trailing'):
digits = [val for val in fmtstring % value if val != '.']
# If all the digits are 0, return '0'.
- digit_sum = reduce(lambda x,y:x+int(y), digits, 0)
+ digit_sum = sum([int(digit) for digit in digits])
if digit_sum == 0:
return '0'