Andrew McNamara
f69d94f6c0
Moved reader \r and \n processing from the iterator to the state machine -
...
this allows for better handling of newline characters in quoted fields (and
hopefully resolves Bug 967934).
2005-01-13 11:30:54 +00:00
Andrew McNamara
5cfd83748a
Improve wording of parser error message.
2005-01-12 11:39:50 +00:00
Andrew McNamara
7f2053eff3
Add counting of source iterator lines to the reader object - handy for
...
user error messages (otherwise difficult to do without instrumenting
the source).
2005-01-12 11:17:16 +00:00
Andrew McNamara
0f0599ddc1
When quoting=QUOTE_NONNUMERIC, the reader now casts unquoted fields
...
to floats.
2005-01-12 09:45:18 +00:00
Andrew McNamara
5d45a8dc22
Fix logic problem in quoting=csv.QUOTE_ALL, quotechar=None check, add test.
2005-01-12 08:16:17 +00:00
Andrew McNamara
c89f284df8
When using QUOTE_NONNUMERIC, we now test for "numericness" with
...
PyNumber_Check, rather than trying to convert to a float. Reimplemented
writer - now raises exceptions when it sees a quotechar but neither
doublequote or escapechar are set. Doublequote results are now more
consistent (eg, single quote should generate """", rather than "",
which is ambiguous).
2005-01-12 07:44:42 +00:00
Andrew McNamara
31d8896ee2
Rename csv.set_field_limit to csv.field_size_limit (since it both sets and
...
gets).
2005-01-12 03:45:10 +00:00
Andrew McNamara
cf0fd5ab29
Add belt and braces check of PyString_AsString return.
2005-01-12 01:16:35 +00:00
Andrew McNamara
e4d05c4f93
Set an upper limit on the size of the field buffer, raise an exception
...
when this limit is reached. Limit defaults to 128k, and is changed
by module set_field_limit() method. Previously, an unmatched quote
character could result in the entire file being read into the field
buffer, potentially exhausting virtual memory.
2005-01-11 07:32:02 +00:00
Andrew McNamara
29bf4e44f6
Now that internal dialect type is immutable, and the dialect registry
...
only contains instances of the dialect type, we can refer directly to the
dialect instances rather than creating new ones. In other words, if the
dialect comes from the registry, and we apply no further modifications,
the reader/writer can use the dialect object directly.
2005-01-11 04:49:53 +00:00
Andrew McNamara
8c94b42f31
No longer attempt to instantiate python classes describing dialects. This
...
was done because we were previously performing validation of the dialect
from python, but this is now down within the C module. Also, the method
we were using to detect classes did not work with new-style classes.
2005-01-11 02:18:36 +00:00
Andrew McNamara
86625972a1
Allow dialect-describing keywords to be supplied to register_dialect,
...
record objects of internal dialect type, rather than instances of
python objects.
2005-01-11 01:28:33 +00:00
Andrew McNamara
91b97463cd
Factor out the code for making a dialect instance.
2005-01-11 01:07:23 +00:00
Andrew McNamara
dbce2618b1
Only set error string when dict lookup found no matching key (was setting
...
it for all failures, potentially masking other exceptions).
2005-01-10 23:17:35 +00:00
Andrew McNamara
a8292636c6
When parsing args that return a single character, treat null string the
...
same as None.
2005-01-10 12:25:11 +00:00
Andrew McNamara
37d2bdfa76
Where a string is desired, test for PyBaseString_Type derived type,
...
rather than using PyString_Check/PyUnicode_Check.
2005-01-10 12:22:48 +00:00
Andrew McNamara
77ead87f30
Add missing PyObject_GC_Track and PyObject_GC_UnTrack calls to csv reader and
...
writer objects (other GC infrastructure already in place).
2005-01-10 02:09:41 +00:00
Andrew McNamara
36a7691c2d
Fix parsing of csv files with escapes (escape character previously would be
...
left in stream).
2005-01-10 01:04:40 +00:00
Andrew McNamara
dd3e6cb213
Fix to use PEP7 brace style.
2005-01-07 06:46:50 +00:00
Andrew McNamara
1196cf185c
Improved the implementation of the internal "dialect" type. The new
...
implementation features better error reporting, and better compliance
with the PEP.
2005-01-07 04:42:45 +00:00
Andrew McNamara
575a00b575
Delete Reader_getiter and replace with PyObject_SelfIter.
2005-01-06 02:25:41 +00:00
Johannes Gijsbers
8d3b9dd09c
Quote \r\n correctly, remove random indentation (patch #1009384 ). Thanks
...
Cherniavsky Beni!
2004-08-15 12:23:10 +00:00
Raymond Hettinger
1761a7cc8b
Use PyArg_UnpackTuple() where possible.
2004-06-20 04:23:19 +00:00
Skip Montanaro
148eb6a6b6
doc nit
2003-12-02 18:57:47 +00:00
Andrew McNamara
dcfb38c21b
Fix potential leaks identified by Neal Norwitz.
2003-06-09 05:59:23 +00:00
Jeremy Hylton
42a8aedb29
Make readers and writers participate in garbage collection.
...
Fix memory leak in dialect_init().
2003-04-14 02:20:55 +00:00
Tim Peters
38fc837fa9
Must declare vrbls at the tops of blocks in C89 (wouldn't compile).
2003-04-13 03:25:15 +00:00
Skip Montanaro
7b01a83488
use PyModule_Add{Int,String}Constant() where appropriate
...
(thanks to Neal Norwitz for the code review, BTW)
2003-04-12 19:23:46 +00:00
Skip Montanaro
577c7a763d
tighten up string checks
...
make csv_{get,unregister}_dialect METH_O functions to avoid PyArg_ParseTuple
2003-04-12 19:17:14 +00:00
Skip Montanaro
860fc0b1d5
add writerows docstring
...
conditionally exclude Unicode functions
2003-04-12 18:57:52 +00:00
Skip Montanaro
98f16e0074
typo
2003-04-11 23:10:13 +00:00
Skip Montanaro
dfa35fa3b6
typo
2003-04-11 21:40:01 +00:00
Skip Montanaro
3bc093b717
zap commented out bit of code
2003-04-11 19:33:55 +00:00
Skip Montanaro
a16b21fb0a
add comment about 2.2 compatibility
...
dump empty TODO comment
2003-03-23 14:32:54 +00:00
Tim Peters
ef4b7ed42b
Squash compiler wng about signed-vs-unsigned mismatch.
2003-03-21 01:35:28 +00:00
Skip Montanaro
b4a0417e91
new CSV file processing module - see PEP 305
2003-03-20 23:29:12 +00:00