3030requests .packages .urllib3 .disable_warnings ()
3131
3232URI_API = 'https://cointracking.info/api/v1/'
33- # URI_API = 'http://127.0.0.1:8080/'
3433
3534
3635class CTAPI (object ):
@@ -80,34 +79,33 @@ def _api_query(self, method, params={}):
8079
8180 params .update ({
8281 'method' : method ,
83- 'nonce' : 1515332961 , #int(time.time() * 10),
82+ 'nonce' : '%d' % int (time .time () * 10 ),
83+ # 'nonce': 1515332961,
8484 })
8585
8686 params_string = self ._encode_params_url (params )
87- # params_signed = hmac.new(self.api_secret.encode(), msg='limit=1&method=getTrades&nonce=1515332961', digestmod=hashlib.sha512).hexdigest()
88- # params_signed = hmac.new(self.api_secret.encode(), msg=params_string.encode(), digestmod=hashlib.sha512).hexdigest()
89- params_signed = hmac .new (self .api_secret .encode (), msg = 'limit=1&method=getTrades&nonce=1515332961' , digestmod = hashlib .sha512 ).hexdigest ()
87+ params_signed = hmac .new (self .api_secret .encode (), msg = params_string .encode (), digestmod = hashlib .sha512 ).hexdigest ()
9088
9189 hdrs = {
9290 'Key' : self .api_key ,
9391 'Sign' : params_signed ,
9492 'Connection' : 'close' ,
95- # 'Content-Type': 'text/text'
96- # 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36',
93+ 'User-Agent' : 'python-cointracking-api/%s (https://github.com/tbl42/python-cointracking-api)' % (__version__ ),
9794 }
9895
9996 logger .debug ("=" * 30 )
10097 logger .debug (params )
10198 logger .debug (params_string )
10299 logger .debug (params_signed )
103100 logger .debug (hdrs )
104- logger .debug (self .api_key )
105- logger .debug (self .api_secret )
106101 logger .debug ("=" * 30 )
107102
108103 try :
109- # r = requests.post(URI_API, headers=hdrs, data=params_string, verify=False)
110- r = requests .post (URI_API , headers = hdrs , data = 'limit=1&method=getTrades&nonce=1515332962' , verify = False )
104+ new_params = {}
105+ for k in params .keys ():
106+ new_params [k ] = (None , str (params [k ]))
107+
108+ r = requests .post (URI_API , headers = hdrs , files = new_params , verify = False )
111109 ret_json = r .json ()
112110
113111 return {
@@ -121,55 +119,17 @@ def _api_query(self, method, params={}):
121119 }
122120
123121 ###########################################################################
124- # ORDERS
122+ # API methods
125123 ###########################################################################
126124
127125 #
128- # showOrderbook
126+ # get all Trades
129127 #
130128 def getTrades (self , ** args ):
131129 """ TODO """
132130 params = {
133- 'limit' : 1 ,
134- # 'limit': 'all',
135- # 'order': 'ASC',
136- # 'start': 1200000000,
137- # 'end': 1450000000,
131+ 'limit' : 10 ,
132+ 'order' : 'DESC' ,
138133 }
139134 params .update (args )
140135 return self ._api_query ('getTrades' , params )
141-
142- # async function coinTracking(method, params) {
143- # params.method = method;
144- # params.nonce = moment().unix();
145- #
146- # var post_data = http_build_query(params, {leave_brackets: false});
147- #
148- # var hash = crypto.createHmac('sha512', secret);
149- # hash.update(post_data);
150- # var sign = hash.digest('hex');
151- #
152- # var headers = { 'Key': key, 'Sign': sign};
153- #
154- # var form = new FormData();
155- # for(var paramKey in params) {
156- # var value = params[paramKey];
157- # form.append(paramKey, value);
158- # }
159- #
160- # var result = await fetch(url, {
161- # method: 'POST',
162- # body: form,
163- # headers: headers,
164- # });
165- # var json = await result.json();
166- # return json;
167- # }
168- #
169- # async function getTrades() {
170- # var params={};
171- # params.limit=200;
172- #
173- # var res = await coinTracking('getTrades', params);
174- # console.log(res);
175- # }
0 commit comments