· 9 years ago · Jan 07, 2017, 01:00 PM
1import requests
2import time
3import urllib
4import hmac
5import hashlib
6import curses
7import os
8
9def report_progress(number):
10 text = "Number: {}".format(number)
11 stdscr.addstr(curses.LINES // 2, curses.COLS // 2 - len(text) // 2, text)
12 time_value = time.time()
13 stdscr.addstr(1, 0, "Time: {}".format(timeValue), curses.color_pair(1))
14 stdscr.refresh()
15
16 header = stdscr.subwin(1, curses.COLS, 0, 0)
17 header.bkgd(curses.color_pair(2))
18 header.addstr(0, curses.COLS // 2 - len(text) // 2, text)
19
20 #stdscr.bkgd(curses.color_pair(1))
21
22def show_header():
23 data = fetch_data("info", {}).json()
24 balance_btc = data['data']['balances']['available']['BTC']
25 balance_pln = data['data']['balances']['available']['BTC']
26 btc_text = "BTC: " + format(balance_btc, '.8f')
27 pln_text = "PLN: " + format(balance_pln, '.8f')
28 text = btc_text + " " + pln_text
29 header.addstr(0, curses.COLS // 2 - len(text) // 2, text, curses.color_pair(1))
30 stdscr.refresh()
31
32
33def setup_curses():
34 global stdscr
35 stdscr = curses.initscr()
36 curses.noecho()
37 curses.curs_set(0)
38 curses.cbreak()
39
40 curses.start_color()
41 #Header text color
42 curses.init_pair(1, curses.COLOR_RED, curses.COLOR_WHITE)
43 #Header background color
44 curses.init_pair(2, curses.COLOR_RED, curses.COLOR_GREEN)
45
46 global header
47 header = stdscr.subwin(1, curses.COLS, 0, 0)
48 header.bkgd(curses.color_pair(2))
49
50
51def fetch_data(method, parameters):
52 public_key = "3777df44f1bba5d7da8eb48dab6c403b"
53 secret_key = "f035e517ec01bf716e8c3cda45999a44"
54 url = "https://www.bitmarket.pl/api2/"
55 timestamp = int(time.time())
56
57 params = {}
58 params['method'] = method
59 params['tonce'] = timestamp
60
61 for key, value in parameters.items():
62 params[key] = value
63
64 post = urllib.urlencode(params)
65 sign = hmac.HMAC(secret_key, post, digestmod=hashlib.sha512).hexdigest()
66
67 headers = {}
68 headers['API-Key'] = public_key
69 headers['API-Hash'] = sign
70
71 res = requests.post(url, data=post, headers=headers)
72 return res
73
74if __name__ == "__main__":
75 setup_curses()
76 while 1:
77
78 show_header()
79
80 c = stdscr.getch()
81 if c == ord('q'):
82 break
83 curses.curs_set(1)
84 curses.endwin()