예제 #1
0
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})
예제 #2
0
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)
예제 #3
0
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)