Index: main/waeup.kofa/trunk/src/waeup/kofa/browser/pages.py
===================================================================
--- main/waeup.kofa/trunk/src/waeup/kofa/browser/pages.py	(revision 10024)
+++ main/waeup.kofa/trunk/src/waeup/kofa/browser/pages.py	(revision 10027)
@@ -18,5 +18,6 @@
 """ Viewing components for Kofa objects.
 """
-import csv
+# XXX: All csv ops should move to a dedicated module soon
+import unicodecsv as csv
 import grok
 import os
@@ -1044,20 +1045,20 @@
             # XXX: temporary solution to prevent users from
             # uploading non-ascii files.
-            for element in filecontent:
-                try:
-                    if ord(element) > 128:
-                      self.flash(_(
-                          "Only ASCII files are allowed. "
-                          "Your file contains non-ASCII characters."))
-                      logger.info('%s - non-ascii file uploaded: %s' %
-                          (ob_class, target))
-                      return
-                except TypeError:
-                    self.flash(_(
-                        "Only ASCII files are allowed. "
-                        "Your file contains non-ASCII characters."))
-                    logger.info('%s - non-ascii file uploaded: %s' %
-                        (ob_class, target))
-                    return
+            #for element in filecontent:
+            #    try:
+            #        if ord(element) > 128:
+            #          self.flash(_(
+            #              "Only ASCII files are allowed. "
+            #              "Your file contains non-ASCII characters."))
+            #          logger.info('%s - non-ascii file uploaded: %s' %
+            #              (ob_class, target))
+            #          return
+            #    except TypeError:
+            #        self.flash(_(
+            #            "Only ASCII files are allowed. "
+            #            "Your file contains non-ASCII characters."))
+            #        logger.info('%s - non-ascii file uploaded: %s' %
+            #            (ob_class, target))
+            #        return
 
             open(target, 'wb').write(filecontent)
Index: main/waeup.kofa/trunk/src/waeup/kofa/utils/batching.py
===================================================================
--- main/waeup.kofa/trunk/src/waeup/kofa/utils/batching.py	(revision 10024)
+++ main/waeup.kofa/trunk/src/waeup/kofa/utils/batching.py	(revision 10027)
@@ -22,5 +22,4 @@
 """
 import grok
-import csv
 import datetime
 import os
@@ -28,4 +27,5 @@
 import tempfile
 import time
+import unicodecsv
 import zc.async.interfaces
 from cStringIO import StringIO
@@ -142,5 +142,5 @@
         """
         result = dict()
-        reader = csv.reader(open(path, 'rb'))
+        reader = unicodecsv.reader(open(path, 'rb'))
         raw_header = reader.next()
         for num, field in enumerate(headerfields):
@@ -279,5 +279,5 @@
         self.checkHeaders(headerfields, mode)
         mapping = self.getMapping(path, headerfields, mode)
-        reader = csv.DictReader(open(path, 'rb'))
+        reader = unicodecsv.DictReader(open(path, 'rb'))
 
         temp_dir = tempfile.mkdtemp()
@@ -288,6 +288,6 @@
         failed_headers = mapping.values()
         failed_headers.append('--ERRORS--')
-        failed_writer = csv.DictWriter(open(failed_path, 'wb'),
-                                       failed_headers)
+        failed_writer = unicodecsv.DictWriter(open(failed_path, 'wb'),
+                                              failed_headers)
         os.chmod(failed_path, 0664)
         failed_writer.writerow(dict([(x,x) for x in failed_headers]))
@@ -295,6 +295,6 @@
         finished_path = os.path.join(temp_dir, "%s.finished%s" % (base, ext))
         finished_headers = mapping.values()
-        finished_writer = csv.DictWriter(open(finished_path, 'wb'),
-                                         finished_headers)
+        finished_writer = unicodecsv.DictWriter(open(finished_path, 'wb'),
+                                                finished_headers)
         os.chmod(finished_path, 0664)
         finished_writer.writerow(dict([(x,x) for x in finished_headers]))
@@ -398,5 +398,5 @@
         """
         outfile = StringIO()
-        writer = csv.DictWriter(outfile, self.available_fields)
+        writer = unicodecsv.DictWriter(outfile, self.available_fields)
         writer.writerow(
             dict(zip(self.available_fields, self.available_fields))) # header
@@ -455,5 +455,5 @@
         else:
             outfile = open(filepath, 'wb')
-        writer = csv.DictWriter(outfile, self.fields)
+        writer = unicodecsv.DictWriter(outfile, self.fields)
         writer.writerow(dict(zip(self.fields, self.fields))) # header
         return writer, outfile
