# HG changeset patch # User Paul Boddie # Date 1317508173 -7200 # Node ID e71c98b4166ae5c7ed87c1d0604a9a258311b735 # Parent 807beac0d287031baeb7ef93e807a95534ea2d53 Fixed the test programs. Initialised the conversion functions/methods in advance in the Converted initialiser for increased performance. diff -r 807beac0d287 -r e71c98b4166a simplex/accessors.py --- a/simplex/accessors.py Sun Oct 02 00:19:49 2011 +0200 +++ b/simplex/accessors.py Sun Oct 02 00:29:33 2011 +0200 @@ -61,6 +61,7 @@ self.accessor = accessor self.converters = converters + self._converters = map(self.get_converter, self.converters) def get_converter(self, converter): return converter and converter.convert or (lambda x: x) @@ -71,8 +72,7 @@ converter.reset() def convert(self, term): - converters = map(self.get_converter, self.converters) - return [convert(value) for convert, value in zip(converters, term)] + return [convert(value) for convert, value in zip(self._converters, term)] def get_key(self, record): key = self.accessor.get_key(record) diff -r 807beac0d287 -r e71c98b4166a test_indexed.py --- a/test_indexed.py Sun Oct 02 00:19:49 2011 +0200 +++ b/test_indexed.py Sun Oct 02 00:29:33 2011 +0200 @@ -13,7 +13,7 @@ sys.exit(1) f = open(filename) -converters = [(numeric == "true" and int or None) for field in fields] +converters = [(numeric == "true" and NumericDecoder() or None) for field in fields] accessor = Converted(DelimitedRecord(fields), converters) reader = TextFile(f, Iterator(accessor)) diff -r 807beac0d287 -r e71c98b4166a test_scan.py --- a/test_scan.py Sun Oct 02 00:19:49 2011 +0200 +++ b/test_scan.py Sun Oct 02 00:29:33 2011 +0200 @@ -13,7 +13,7 @@ sys.exit(1) f = open(filename) -converters = [(numeric == "true" and int or None) for field in fields] +converters = [(numeric == "true" and NumericDecoder() or None) for field in fields] accessor = Converted(DelimitedRecord(fields), converters) reader = TextFile(f, Iterator(accessor))