From cac7b9d79a95b84d22b92589e43f22f736e54576 Mon Sep 17 00:00:00 2001 From: Skip Montanaro Date: Wed, 28 Dec 2005 15:43:50 +0000 Subject: backport Sniffer class fix (rev 41838) --- Lib/csv.py | 2 +- Lib/test/test_csv.py | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/Lib/csv.py b/Lib/csv.py index f2389fd..262eba8 100644 --- a/Lib/csv.py +++ b/Lib/csv.py @@ -294,7 +294,7 @@ class Sniffer: for char in ascii: metaFrequency = charFrequency.get(char, {}) # must count even if frequency is 0 - freq = line.strip().count(char) + freq = line.count(char) # value is the mode metaFrequency[freq] = metaFrequency.get(freq, 0) + 1 charFrequency[char] = metaFrequency diff --git a/Lib/test/test_csv.py b/Lib/test/test_csv.py index aaebabc..ad85724 100644 --- a/Lib/test/test_csv.py +++ b/Lib/test/test_csv.py @@ -738,6 +738,8 @@ Stonecutters Seafood and Chop House, Lemont, IL, 12/19/02, Week Back 47483648;43.0;170;abc;def ''' + sample5 = "aaa\tbbb\r\nAAA\t\r\nBBB\t\r\n" + def test_has_header(self): sniffer = csv.Sniffer() self.assertEqual(sniffer.has_header(self.sample1), False) @@ -765,6 +767,8 @@ Stonecutters Seafood and Chop House, Lemont, IL, 12/19/02, Week Back self.assertEqual(dialect.delimiter, "/") dialect = sniffer.sniff(self.sample4) self.assertEqual(dialect.delimiter, ";") + dialect = sniffer.sniff(self.sample5) + self.assertEqual(dialect.delimiter, "\t") if not hasattr(sys, "gettotalrefcount"): if test_support.verbose: print "*** skipping leakage tests ***" -- cgit v0.12