unicode decode error with UnicodeOption
authorEmmanuel Garette <egarette@cadoles.com>
Thu, 2 Feb 2017 07:56:01 +0000 (08:56 +0100)
committerEmmanuel Garette <egarette@cadoles.com>
Thu, 2 Feb 2017 07:56:01 +0000 (08:56 +0100)
tiramisu/error.py

index 04d94ae..8caf819 100644 (file)
@@ -30,8 +30,15 @@ def display_list(lst, separator='and'):
     else:
         lst_ = []
         for l in lst[:-1]:
-            lst_.append(str(l))
-        return ', '.join(lst_) + _(' {} ').format(separator) + str(lst[-1])
+            if isinstance(l, unicode):
+                l = l.encode('utf8')
+            elif not isinstance(l, str):
+                l = str(l)
+            lst_.append(l)
+        last = lst[-1]
+        if isinstance(last, unicode):
+            last = last.encode('utf8')
+        return ', '.join(lst_) + _(' {} ').format(separator) + last
 
 
 # Exceptions for an Option