Correction #336
[django-exportateur.git] / django_exportateur / exportateur.py
index a905c15..c1c544a 100644 (file)
@@ -19,6 +19,12 @@ def export_csv (headers, data):
 
     return buffer.getvalue ()
 
+def txt(msg):
+    text = msg
+    if not isinstance(msg, unicode):
+        text = unicode (msg, "utf-8")
+    return text
+
 def export_ods (headers, data):
     doc = OpenDocumentSpreadsheet()
     style = Style(name="Large number", family="table-cell")
@@ -35,7 +41,7 @@ def export_ods (headers, data):
         for item in headers:
             tc = TableCell ()
             tr.addElement (tc)
-            p = P(stylename = style, text = unicode (item, "utf-8"))
+            p = P(stylename = style, text = txt(item))
             tc.addElement (p)
 
     for line in data:
@@ -44,7 +50,7 @@ def export_ods (headers, data):
         for item in line:
             tc = TableCell ()
             tr.addElement (tc)
-            p = P (stylename = style, text = unicode (item, "utf-8"))
+            p = P (stylename = style, text = txt(item))
             tc.addElement (p)
 
     doc.spreadsheet.addElement(table)