[pypy-commit] pypy py3k: partly revert b59013f9587e, this part is needed for the recently fixed

pjenvey noreply at buildbot.pypy.org
Wed Oct 24 22:56:17 CEST 2012


Author: Philip Jenvey <pjenvey at underboss.org>
Branch: py3k
Changeset: r58401:db79e2d1c28e
Date: 2012-10-24 13:51 -0700
http://bitbucket.org/pypy/pypy/changeset/db79e2d1c28e/

Log:	partly revert b59013f9587e, this part is needed for the recently
	fixed http://bugs.python.org/issue16013

diff --git a/pypy/module/_csv/interp_reader.py b/pypy/module/_csv/interp_reader.py
--- a/pypy/module/_csv/interp_reader.py
+++ b/pypy/module/_csv/interp_reader.py
@@ -40,7 +40,6 @@
 
     def save_field(self, field_builder):
         field = field_builder.build()
-        print "AFA SAVE FIELD", field
         if self.numeric_field:
             from pypy.objspace.std.strutil import ParseStringError
             from pypy.objspace.std.strutil import string_to_float
@@ -72,7 +71,11 @@
                             state != START_RECORD and state != EAT_CRNL and
                             (len(field_builder.build()) > 0 or
                              state == IN_QUOTED_FIELD)):
-                        raise self.error(u"newline inside string")
+                        if dialect.strict:
+                            raise self.error(u"newline inside string")
+                        else:
+                            self.save_field(field_builder)
+                            break
                 raise
             self.line_num += 1
             line = space.unicode_w(w_line)
diff --git a/pypy/module/_csv/test/test_reader.py b/pypy/module/_csv/test/test_reader.py
--- a/pypy/module/_csv/test/test_reader.py
+++ b/pypy/module/_csv/test/test_reader.py
@@ -107,9 +107,9 @@
         self._read_test(['12,12,1",'], [['12', '12', '1"', '']])
 
     def test_read_eof(self):
-        self._read_test(['a,"'], [])
-        self._read_test(['"a'], 'Error')
-        self._read_test(['^'], 'Error', escapechar='^')
-        self._read_test(['a,"'], [], strict=True)
+        self._read_test(['a,"'], [['a', '']])
+        self._read_test(['"a'], [['a']])
+        self._read_test(['^'], [['\n']], escapechar='^')
+        self._read_test(['a,"'], 'Error', strict=True)
         self._read_test(['"a'], 'Error', strict=True)
         self._read_test(['^'], 'Error', escapechar='^', strict=True)


More information about the pypy-commit mailing list