· 8 years ago · Feb 07, 2018, 11:44 PM
1import os, requests, json
2import sqlite3
3
4from time import sleep, strftime, gmtime
5from flask import Flask
6from itertools import repeat
7
8FLASK_PORT = int(os.getenv('FLASK_PORT'))
9BINANCE_URL = os.getenv('BINANCE_URL')
10API_DELAY = int(os.getenv('API_DELAY'))
11SQLITE_FILE = os.getenv('SQLITE_FILE')
12SLACK_URL = os.getenv('SLACK_URL')
13USE_DATEFMT = os.getenv('USE_DATEFMT')
14
15app = Flask(__name__)
16
17class BinanceMonitor(object):
18 def __init__(self, db):
19 self.binance_url = BINANCE_URL
20 self.delay = API_DELAY
21 self.datefmt = USE_DATEFMT
22 self.conn = sqlite3.connect(SQLITE_FILE)
23 self.coins = []
24
25 def run(self):
26 while True:
27 self.update()
28 sleep(self.delay)
29
30 def update(self):
31 res = requests.get(self.binance_url)
32 data = json.loads(res.text)
33 coins = [x["assetCode"] for x in data]
34 diff = set(coins).difference(set(self.coins))
35 if len(diff) > 1:
36 sql = "DROP TABLE IF EXISTS coins"
37 self.conn.execute(sql)
38 sql = "CREATE TABLE IF NOT EXISTS coins " + \
39 "(coin TEXT PRIMARY_KEY)"
40 self.conn.execute(sql)
41 else:
42 print("no")
43 self.coins = coins
44# coins = [x["assetCode"] for x in data]
45# rows = list(set(coins) - set(self.coins))
46# with open(log, 'a+') as f:
47# rows = [json.loads(x) for x in rows]
48# json.dump(json.dumps(j), f)
49# self.coins = coins
50
51monitor = BinanceMonitor(SQLITE_FILE)
52monitor.run()