@@ -206,7 +206,7 @@ def urlencode(cls, d):
206
206
Internal: encode a dict for url representation
207
207
If we ever need fancy encoding of embedded objects do it here
208
208
"""
209
- return urllib .urlencode (d )
209
+ return six . moves . urllib . parse .urlencode (d )
210
210
211
211
@classmethod
212
212
def jsonencode (cls , d ):
@@ -292,7 +292,7 @@ def request_raw(self, meth, url, params={}):
292
292
def interpret_response (self , http_res ):
293
293
rbody , rcode = http_res ['body' ], http_res ['code' ]
294
294
try :
295
- resp = json .loads (rbody ) if rcode != 429 else {'error' : 'Too Many Requests' }
295
+ resp = json .loads (rbody . decode () ) if rcode != 429 else {'error' : 'Too Many Requests' }
296
296
except Exception :
297
297
raise APIError ("Invalid response body from API: %s (HTTP response code was %d)" %
298
298
(rbody , rcode ), rbody , rcode )
@@ -676,7 +676,7 @@ def class_name(cls):
676
676
if cls == APIResource :
677
677
raise NotImplementedError (
678
678
'APIResource is an abstract class. You should perform actions on its subclasses (Charge, Customer, etc.)' )
679
- return "%s" % urllib .quote_plus (cls .__name__ .lower ())
679
+ return "%s" % six . moves . urllib . parse .quote_plus (cls .__name__ .lower ())
680
680
681
681
@classmethod
682
682
def class_url (cls ):
@@ -690,7 +690,7 @@ def instance_url(self):
690
690
'Could not determine which URL to request: %s instance has invalid ID: %r' % (type (self ).__name__ , id ), 'id' )
691
691
id = APIRequestor ._utf8 (id )
692
692
base = self .class_url ()
693
- extn = urllib .quote_plus (id )
693
+ extn = six . moves . urllib . parse .quote_plus (id )
694
694
return "%s/%s" % (base , extn )
695
695
696
696
# Classes of API operations
0 commit comments