From 935458f853a64654630324d4818689444f25a92e Mon Sep 17 00:00:00 2001 From: James McKinney Date: Sat, 23 Jan 2016 13:39:49 -0500 Subject: [PATCH 1/2] Add failing test demonstrating #368 --- tests/test_grep.py | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/tests/test_grep.py b/tests/test_grep.py index a1550f71e..bad30baed 100644 --- a/tests/test_grep.py +++ b/tests/test_grep.py @@ -122,3 +122,17 @@ def test_any_match_and_inverse(self): self.fail("Should be no more rows left.") except StopIteration: pass + + def test_multiline(self): + table = [ + ['a', 'b'], + ['1', 'foo\nbar'] + ] + fcr = FilteringCSVReader(iter(table), patterns={'b': re.compile('bar')}) + self.assertEqual(table[0], next(fcr)) + self.assertEqual(table[1], next(fcr)) + try: + next(fcr) + self.fail("Should be no more rows left.") + except StopIteration: + pass From ad99262633482ee6438b2533381b6cd25ee5ae88 Mon Sep 17 00:00:00 2001 From: James McKinney Date: Sat, 23 Jan 2016 13:40:12 -0500 Subject: [PATCH 2/2] Fixes #368 --- csvkit/grep.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/csvkit/grep.py b/csvkit/grep.py index f9b46ab1c..ff20ddf91 100644 --- a/csvkit/grep.py +++ b/csvkit/grep.py @@ -119,5 +119,5 @@ def __init__(self, pattern): self.pattern = pattern def __call__(self, arg): - return self.pattern.match(arg) + return self.pattern.search(arg)