]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
Fix parsing of csv files with escapes (escape character previously would be
authorAndrew McNamara <andrewm@object-craft.com.au>
Mon, 10 Jan 2005 01:04:40 +0000 (01:04 +0000)
committerAndrew McNamara <andrewm@object-craft.com.au>
Mon, 10 Jan 2005 01:04:40 +0000 (01:04 +0000)
left in stream).

Lib/test/test_csv.py
Modules/_csv.c

index 6c47c6e749abc4c7969a44b3104fcbedda90134d..66b0ea9ae897929d663a65167debf093c6d3f26c 100644 (file)
@@ -227,10 +227,10 @@ class Test_Csv(unittest.TestCase):
         self.assertRaises(csv.Error, self._read_test, ['a,b\r\nc,d'], [])
 
     def test_read_escape(self):
-        self._read_test(['a,\\b,c'], [['a', '\\b', 'c']], escapechar='\\')
+        self._read_test(['a,\\b,c'], [['a', 'b', 'c']], escapechar='\\')
         self._read_test(['a,b\\,c'], [['a', 'b,c']], escapechar='\\')
         self._read_test(['a,"b\\,c"'], [['a', 'b,c']], escapechar='\\')
-        self._read_test(['a,"b,\\c"'], [['a', 'b,\\c']], escapechar='\\')
+        self._read_test(['a,"b,\\c"'], [['a', 'b,c']], escapechar='\\')
         self._read_test(['a,"b,c\\""'], [['a', 'b,c"']], escapechar='\\')
         self._read_test(['a,"b,c"\\'], [['a', 'b,c\\']], escapechar='\\')
 
index 893a27344d3d38780361195585318d083012e7f1..13445b8acfb45d87c52ea50b45b84bac0d86e799 100644 (file)
@@ -584,10 +584,6 @@ parse_process_char(ReaderObj *self, char c)
                break;
 
        case ESCAPED_CHAR:
-               if (c != dialect->escapechar && 
-                    c != dialect->delimiter &&
-                   c != dialect->quotechar)
-                       parse_add_char(self, dialect->escapechar);
                parse_add_char(self, c);
                self->state = IN_FIELD;
                break;
@@ -642,10 +638,6 @@ parse_process_char(ReaderObj *self, char c)
                break;
 
        case ESCAPE_IN_QUOTED_FIELD:
-               if (c != dialect->escapechar && 
-                    c != dialect->delimiter &&
-                   c != dialect->quotechar)
-                       parse_add_char(self, dialect->escapechar);
                parse_add_char(self, c);
                self->state = IN_QUOTED_FIELD;
                break;