def index(status=None): msg = None if status == 'ok': msg = 'Cadastro realizado com sucesso! Agora é só aguardar sua \ notificação.' elif status == 'error': msg = 'Ocorreu um erro. Tente novamente.' last_data = foxbit.find().sort('timestamp', -1) if last_data.count() > 0: last_data = last_data[0] last_data['timestamp'] = last_data['timestamp'].strftime('%d/%m/%Y %H:%M') template = JINJA_ENVIRONMENT.get_template('index.html') return template.render({'last_data': last_data, 'msg': msg, 'status': status})
def history(): data = [] now = datetime.datetime.now() past_week = now - datetime.timedelta(days=7) result = foxbit.find({'timestamp': {'$gte': past_week}}) for item in result.sort('timestamp', -1): data.append({ 'timestamp': item['timestamp'].strftime('%d/%m/%Y %H:%M'), 'last': item['last'] }) response.content_type = 'application/json' return json.dumps(data)
def save_foxbit(): url = 'https://api.blinktrade.com/api/v1/BRL/ticker?crypto_currency=BTC' resp = request.urlopen(url).read() data = json.loads(resp.decode('utf-8')) data['timestamp'] = datetime.now(pytz.timezone('America/Sao_Paulo')) last_data = foxbit.find().sort('timestamp', -1) if last_data.count() > 0: last_data = last_data[0] if last_data['last'] != data['last']: foxbit.insert_one(data) send_notification(data) else: foxbit.insert_one(data) send_notification(data)