1
- import urlparse
2
- import urllib
1
+ import sys
2
+ if sys .version_info > (2 , 7 ):
3
+ from urllib .parse import urlencode , urljoin
4
+ else :
5
+ from urlparse import urljoin
6
+ from urllib import urlencode
3
7
import requests
4
8
import random
5
9
import time
@@ -16,7 +20,10 @@ class API(object):
16
20
17
21
def __init__ (self , key , secret , version = "0.3" ):
18
22
self .key = key
19
- self .secret = secret
23
+ if sys .version_info > (2 , 7 ):
24
+ self .secret = secret .encode ('utf-8' )
25
+ else :
26
+ self .secret = secret
20
27
self .version = version
21
28
self .session = None
22
29
self .headers = {
@@ -46,13 +53,15 @@ def createSignature(self, method, url):
46
53
"timestamp" : int (time .time ()),
47
54
"version" : self .version
48
55
}
49
- payload = urllib .urlencode (collections .OrderedDict (sorted (rawPayload .items ())))
56
+ payload = urlencode (collections .OrderedDict (sorted (rawPayload .items ())))
57
+ if sys .version_info > (2 , 7 ):
58
+ payload = payload .encode ('utf-8' )
50
59
hmacInstance = hmac .new (self .secret , msg = payload , digestmod = hashlib .sha1 )
51
60
rawPayload ["signature" ] = hmacInstance .hexdigest ()
52
61
return rawPayload
53
62
54
63
def fetch (self , method , resource , data = None ):
55
- baseUrl = urlparse . urljoin ("https://api.veridu.com" , "/%s/%s" % (self .version , resource ))
64
+ baseUrl = urljoin ("https://api.veridu.com" , "/%s/%s" % (self .version , resource ))
56
65
57
66
if (method == "GET" ):
58
67
response = requests .get (baseUrl , params = data , headers = self .headers )
@@ -78,7 +87,7 @@ def fetch(self, method, resource, data=None):
78
87
def signedFetch (self , method , resource , data = None ):
79
88
sign = self .createSignature (
80
89
method ,
81
- urlparse . urljoin ("https://api.veridu.com" , "/%s/%s" % (self .version , resource ))
90
+ urljoin ("https://api.veridu.com" , "/%s/%s" % (self .version , resource ))
82
91
)
83
92
84
93
if data is None :
0 commit comments