Kaydet (Commit) 36a7691c authored tarafından Andrew McNamara's avatar Andrew McNamara

Fix parsing of csv files with escapes (escape character previously would be

left in stream).
üst 41e4faa8
......@@ -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='\\')
......
......@@ -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;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment