praekelt / vumi-bot

Simple bot that performs various actions.
0 stars 0 forks source link

poor unicode worksheet name handling #14

Open smn opened 12 years ago

smn commented 12 years ago

!publish fails with TypeError: normalize() argument 2 must be unicode, not str..

hodgestar commented 11 years ago

Test still fails because get_worksheets doesn't decode the bytestrings it gets back from redis.

hodgestar commented 11 years ago

This fixes it for me:

diff --git a/tests/test_timetracker.py b/tests/test_timetracker.py
index 7b637e1..ca0ae18 100644
--- a/tests/test_timetracker.py
+++ b/tests/test_timetracker.py
@@ -1,4 +1,4 @@
-# -*- coding: utf8 -*-
+# -*- coding: utf-8 -*-
 import json

 from datetime import datetime, timedelta
diff --git a/vumibot/timetracker.py b/vumibot/timetracker.py
index 2c04569..6194486 100644
--- a/vumibot/timetracker.py
+++ b/vumibot/timetracker.py
@@ -56,7 +56,8 @@ class RedisSpreadSheet(object):
         return self.r_key(worksheet_name, row_key, 'columns')

     def get_worksheets(self):
-        return self.r_server.smembers(self.worksheets_key)
+        return [name.decode('utf-8') for name in
+                self.r_server.smembers(self.worksheets_key)]

     def get_rows(self, worksheet_name):
         rows_key = self.get_row_key(worksheet_name)