[Spambayes-checkins] spambayes/scripts sb_dbexpimp.py, 1.12, 1.12.4.1

Tony Meyer anadelonbrin at users.sourceforge.net
Thu Jun 10 01:17:23 EDT 2004


Update of /cvsroot/spambayes/spambayes/scripts
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv29638/scripts

Modified Files:
      Tag: release_1_0-branch
	sb_dbexpimp.py 
Log Message:
Backport Skip's Python 2.2 compatibility fixes.

Index: sb_dbexpimp.py
===================================================================
RCS file: /cvsroot/spambayes/spambayes/scripts/sb_dbexpimp.py,v
retrieving revision 1.12
retrieving revision 1.12.4.1
diff -C2 -d -r1.12 -r1.12.4.1
*** sb_dbexpimp.py	24 Mar 2004 21:30:43 -0000	1.12
--- sb_dbexpimp.py	10 Jun 2004 05:17:12 -0000	1.12.4.1
***************
*** 93,107 ****
  from __future__ import generators
  
  try:
      True, False
  except NameError:
-     # Maintain compatibility with Python 2.2
      True, False = 1, 0
  
  try:
      import csv
  except ImportError:
      import spambayes.compatcsv as csv
  
  import spambayes.storage
  from spambayes.Options import options
--- 93,118 ----
  from __future__ import generators
  
+ # Python 2.2 compatibility stuff
  try:
      True, False
  except NameError:
      True, False = 1, 0
  
  try:
      import csv
+     # might get the old object craft csv module - has no reader attr 
+     if not hasattr(csv, "reader"): 
+         raise ImportError 
  except ImportError:
      import spambayes.compatcsv as csv
  
+ try:
+     x = UnicodeDecodeError
+ except NameError:
+     UnicodeDecodeError = UnicodeError
+ else:
+     del x
+ 
+ 
  import spambayes.storage
  from spambayes.Options import options
***************
*** 115,123 ****
      return s
  
  def uunquote(s):
!     try:
!         return unicode(s, 'utf-8')
!     except UnicodeDecodeError:
!         return s
  
  def runExport(dbFN, useDBM, outFN):
--- 126,139 ----
      return s
  
+ # Heaven only knows what encoding non-ASCII stuff will be in
+ # Try a few common western encodings and punt if they all fail
  def uunquote(s):
!     for encoding in ("utf-8", "cp1252", "iso-8859-1"):
!         try:
!             return unicode(s, encoding)
!         except UnicodeDecodeError:
!             pass
!     # punt
!     return s
  
  def runExport(dbFN, useDBM, outFN):




More information about the Spambayes-checkins mailing list