[Python-checkins] python/dist/src/Lib csv.py,1.1,1.2

fdrake@users.sourceforge.net fdrake@users.sourceforge.net
Fri, 25 Apr 2003 07:27:05 -0700


Update of /cvsroot/python/python/dist/src/Lib
In directory sc8-pr-cvs1:/tmp/cvs-serv5510

Modified Files:
	csv.py 
Log Message:
Attempt to deal with some obvious errors in the code.  These were all
due to using a single module-level namespace where multiple namespaces
were used before.

There *really* need to be tests for the sniffer stuff.  This could
have been avoided.

Skip, please review, and add sniffer tests!


Index: csv.py
===================================================================
RCS file: /cvsroot/python/python/dist/src/Lib/csv.py,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** csv.py	24 Apr 2003 20:21:31 -0000	1.1
--- csv.py	25 Apr 2003 14:27:00 -0000	1.2
***************
*** 162,166 ****
          Takes a file-like object and returns a dialect (or None)
          """
- 
          self.fileobj = fileobj
  
--- 162,165 ----
***************
*** 172,186 ****
              delimiter, skipinitialspace = self._guessDelimiter(data)
  
!         class Dialect(csv.Dialect):
              _name = "sniffed"
              lineterminator = '\r\n'
!             quoting = csv.QUOTE_MINIMAL
              # escapechar = ''
              doublequote = False
!         Dialect.delimiter = delimiter
!         Dialect.quotechar = quotechar
!         Dialect.skipinitialspace = skipinitialspace
  
!         self.dialect = Dialect
          return self.dialect
  
--- 171,185 ----
              delimiter, skipinitialspace = self._guessDelimiter(data)
  
!         class SniffedDialect(Dialect):
              _name = "sniffed"
              lineterminator = '\r\n'
!             quoting = QUOTE_MINIMAL
              # escapechar = ''
              doublequote = False
!         SniffedDialect.delimiter = delimiter
!         SniffedDialect.quotechar = quotechar
!         SniffedDialect.skipinitialspace = skipinitialspace
  
!         self.dialect = SniffedDialect
          return self.dialect
  
***************
*** 190,195 ****
  
  
!     def register_dialect(self, name = 'sniffed'):
!         csv.register_dialect(name, self.dialect)
  
  
--- 189,194 ----
  
  
!     def register_dialect(self, name='sniffed'):
!         register_dialect(name, self.dialect)
  
  
***************
*** 379,388 ****
          fileobj.seek(0)
  
!         reader = csv.reader(fileobj,
!                             delimiter = dialect.delimiter,
!                             quotechar = dialect.quotechar,
!                             skipinitialspace = dialect.skipinitialspace)
  
!         header = reader.next() # assume first row is header
  
          columns = len(header)
--- 378,387 ----
          fileobj.seek(0)
  
!         r = csv.reader(fileobj,
!                        delimiter=dialect.delimiter,
!                        quotechar=dialect.quotechar,
!                        skipinitialspace=dialect.skipinitialspace)
  
!         header = r.next() # assume first row is header
  
          columns = len(header)
***************
*** 391,395 ****
  
          checked = 0
!         for row in reader:
              # arbitrary number of rows to check, to keep it sane
              if checked > 20:
--- 390,394 ----
  
          checked = 0
!         for row in r:
              # arbitrary number of rows to check, to keep it sane
              if checked > 20: