[Python-checkins] python/nondist/sandbox/csv/util sniffer.py,1.5,1.6
cliffwells18@users.sourceforge.net
cliffwells18@users.sourceforge.net
Fri, 14 Mar 2003 17:15:05 -0800
Update of /cvsroot/python/python/nondist/sandbox/csv/util
In directory sc8-pr-cvs1:/tmp/cvs-serv27901
Modified Files:
sniffer.py
Log Message:
Added arbitrary limit to hasHeaders().
Index: sniffer.py
===================================================================
RCS file: /cvsroot/python/python/nondist/sandbox/csv/util/sniffer.py,v
retrieving revision 1.5
retrieving revision 1.6
diff -C2 -d -r1.5 -r1.6
*** sniffer.py 15 Mar 2003 01:08:21 -0000 1.5
--- sniffer.py 15 Mar 2003 01:15:03 -0000 1.6
***************
*** 214,219 ****
Strips parens from item prior to calling eval in an attempt to make it safer
"""
! item = item.replace('(', '').replace(')', '')
! return eval(item)
reader = csv.reader(fileObj,
--- 214,218 ----
Strips parens from item prior to calling eval in an attempt to make it safer
"""
! return eval(item.replace('(', '').replace(')', ''))
reader = csv.reader(fileObj,
***************
*** 227,234 ****
columnTypes = {}
for i in range(columns): columnTypes[i] = None
!
for row in reader:
if len(row) != columns:
continue # skip rows that have irregular number of columns
for col in columnTypes.keys():
try:
--- 226,239 ----
columnTypes = {}
for i in range(columns): columnTypes[i] = None
!
! checked = 0
for row in reader:
+ if checked > 20: # arbitrary number of rows to check, to keep it sane
+ break
+ checked += 1
+
if len(row) != columns:
continue # skip rows that have irregular number of columns
+
for col in columnTypes.keys():
try: