From e71d7a24b5be3e68d36494869595eec934db4bd2 Mon Sep 17 00:00:00 2001 From: Hamilton Kibbe Date: Wed, 18 Feb 2015 21:14:30 -0500 Subject: Python 3 tests passing --- gerber/excellon.py | 10 +++++----- gerber/excellon_statements.py | 2 +- gerber/gerber_statements.py | 3 +-- gerber/tests/test_excellon.py | 6 +++--- gerber/tests/test_gerber_statements.py | 3 ++- gerber/tests/tests.py | 2 +- gerber/utils.py | 3 +-- 7 files changed, 14 insertions(+), 15 deletions(-) (limited to 'gerber') 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), '') stmt.test='PASS' - assert_equal(str(stmt), '') + 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' -- cgit