From c09f4567d220517ff4f55475d153580885402f95 Mon Sep 17 00:00:00 2001 From: Oleg Plakhotniuk Date: Fri, 19 Jun 2015 16:01:50 -0500 Subject: [PATCH] [citibank] Parse thousands correctly in the statements. Closes #1984 --- modules/citibank/parser.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/modules/citibank/parser.py b/modules/citibank/parser.py index 9d99b493..1c10ecd1 100644 --- a/modules/citibank/parser.py +++ b/modules/citibank/parser.py @@ -70,7 +70,7 @@ class StatementParser(object): LEX = [ ('date_range', r'^\((\d{2}/\d{2}/\d{2})-(\d{2}/\d{2}/\d{2})\) Tj$'), - ('amount', r'^\((-?\$\d+\.\d{2})\) Tj$'), + ('amount', r'^\((-?\$\d+(,\d{3})*\.\d{2})\) Tj$'), ('date', r'^\((\d{2}/\d{2})\) Tj$'), ('text', r'^\((.*)\) Tj$'), ('layout_tf', r'^.* Tf$'), @@ -196,7 +196,8 @@ class StatementParser(object): @formatted def read_amount(self, pos): - return self._tok.simple_read('amount', pos, AmTr.decimal_amount) + return self._tok.simple_read('amount', pos, + lambda xs: AmTr.decimal_amount(xs[0])) def read_text(self, pos): startPos = pos