Encode parameters in binder to utf-8
authorJosh Roesslein <jroesslein@gmail.com>
Wed, 14 Oct 2009 20:19:29 +0000 (15:19 -0500)
committerJosh Roesslein <jroesslein@gmail.com>
Wed, 14 Oct 2009 20:19:29 +0000 (15:19 -0500)
tweepy/binder.py

index 3bf1bf50b8190ee190d04b625b101dc861a56fe9..8000c32cbfa7e728ebbe0b9881ee425dd7f7f670 100644 (file)
@@ -44,8 +44,9 @@ def bind_api(path, parser, allowed_param=[], method='GET', require_auth=False,
         if allowed_param:
             parameters = {}
             for idx, arg in enumerate(args):
+                encoded_arg = arg.encode('utf-8')  # must encode parameters to utf-8
                 try:
-                    parameters[allowed_param[idx]] = arg
+                    parameters[allowed_param[idx]] = encoded_arg
                 except IndexError:
                     raise TweepError('Too many parameters supplied!')
             for k, arg in kargs.items():
@@ -55,7 +56,7 @@ def bind_api(path, parser, allowed_param=[], method='GET', require_auth=False,
                     raise TweepError('Multiple values for parameter %s supplied!' % k)
                 if k not in allowed_param:
                     raise TweepError('Invalid parameter %s supplied!' % k)
-                parameters[k] = arg
+                parameters[k] = arg.encode('utf-8')
         else:
             if len(args) > 0 or len(kargs) > 0:
                 raise TweepError('This method takes no parameters!')