-
Notifications
You must be signed in to change notification settings - Fork 0
/
ss.py
40 lines (31 loc) · 1.16 KB
/
ss.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
import os
import json
import http.server as BaseHTTPServer
import requests
KRAKEN_API = 'https://api.kraken.com/0/public/Ticker'
EOS_PAIR = 'EOSXBT'
XBT_PAIR = 'XXBTZUSD'
CURRENCY_API = 'https://api.fixer.io/latest'
def get_eos_to_usd():
eos_ask = requests.get(KRAKEN_API, params={'pair': EOS_PAIR}).json()[
'result'][EOS_PAIR]['a'][0]
xbt_ask = requests.get(KRAKEN_API, params={'pair': XBT_PAIR}).json()[
'result'][XBT_PAIR]['a'][0]
usd_rates = requests.get(
CURRENCY_API,
params={'base': 'USD', 'symbols': 'CNY,EUR'}
).json()['rates']
eos_to_usd = float(eos_ask) * float(xbt_ask)
eos_to_cny = eos_to_usd * usd_rates['CNY']
eos_to_eur = eos_to_usd * usd_rates['EUR']
return locals()
class IndexHandler(BaseHTTPServer.BaseHTTPRequestHandler):
def do_GET(s):
s.send_response(200)
s.send_header('Content-Type', 'application/json')
s.end_headers()
s.wfile.write(json.dumps(get_eos_to_usd()).encode('utf-8'))
if __name__ == '__main__':
server_class = BaseHTTPServer.HTTPServer
httpd = server_class(('', int(os.environ.get('PORT'))), IndexHandler)
httpd.serve_forever()