Exemple #1
0
def main():
    # enter your login credentials here
    user_id = 11096095
    password = "******"
    symbols = ('UK100', 'DE30', 'EURUSD', 'USDJPY')
    short_window = 10
    long_window = 50

    # create & connect to RR socket
    client = xAPIConnector.APIClient()

    # connect to RR socket, login
    login_response = client.execute(
        xAPIConnector.login_command(user_id=user_id, password=password))

    # check if user logged in correctly
    if not login_response['status']:
        print('Login failed. Error code: {0}'.format(
            login_response['errorCode']))
        return

    # get ssId from login response
    ssid = login_response['streamSessionId']

    # create class for data storing
    data = data_storage.DataStorage(symbols, short_window, long_window,
                                    client.command_execute)

    # create & connect to Streaming socket with given ssID
    # and functions for processing ticks, trades, profit and tradeStatus
    sclient = xAPIConnector.APIStreamClient(ss_id=ssid,
                                            tick_fun=data.fetch_data)

    # subscribe for prices of symbols in given interval time
    interval = 1000  # 60*1000ms = 60s
    sclient.subscribe_prices(symbols, interval)

    # Press 'Enter' to stop
    print('Press Ctrl + C to stop\n')
    input()

    # gracefully close streaming socket
    sclient.disconnect()

    # gracefully close RR socket
    client.disconnect()

    # Generate raport
    data.raport()
Exemple #2
0
def index():
    app.logger.info(request.method)
    app.logger.info([[i, request.form[i]] for i in request.form])
    d=data_storage.DataStorage(ROOT)
    user=''
    timespan=86400*30
    if 'kilepes' in request.form:
        return redirect(url_for('logout'))
    if 'rogzit' in request.form:
        timestamp=time.mktime(datetime.datetime.strptime(request.form['datum']+' '+request.form['ido'], '%Y-%m-%d %H:%M').timetuple())
        d.add_event(timestamp, category=request.form['kategoria'], note=request.form['bejegyzes'],user=user)
    elif 'torol' in request.form:
        timestamp=time.mktime(datetime.datetime.strptime(request.form['sorszam'], '%Y-%m-%d %H:%M').timetuple())
        d.remove_event(timestamp)
    elif 'mutat' in request.form or 'plot_frissit' in request.form:
        return render_template('plot.html', name='Adel', age=d.calculate_timeleft(),#, weight='3000 g', height='15 cm', 
                            szopas_ota=d.szopasi_ido())
    elif 'vissza' in request.form:
        pass
    elif 'frissit' in request.form:
        pass
    elif 'szopi' in request.form:
        app.logger.info('sz')
        timestamp=time.mktime(datetime.datetime.strptime(request.form['datum']+' '+request.form['ido'], '%Y-%m-%d %H:%M').timetuple())
        d.add_event(timestamp, category='Szoptatas', note=request.form['bejegyzes'],user=user)
    elif 'kaki' in request.form:
        timestamp=time.mktime(datetime.datetime.strptime(request.form['datum']+' '+request.form['ido'], '%Y-%m-%d %H:%M').timetuple())
        d.add_event(timestamp, category='Kaka', note=request.form['bejegyzes'],user=user)
    elif 'alvashoz_le' in request.form:
        timestamp=time.mktime(datetime.datetime.strptime(request.form['datum']+' '+request.form['ido'], '%Y-%m-%d %H:%M').timetuple())
        d.add_event(timestamp, category='Alvashoz leteve', note=request.form['bejegyzes'],user=user)
    elif 'alvas' in request.form:
        timestamp=time.mktime(datetime.datetime.strptime(request.form['datum']+' '+request.form['ido'], '%Y-%m-%d %H:%M').timetuple())
        d.add_event(timestamp, category='Alvas', note=request.form['bejegyzes'],user=user)        
    elif 'alvas_vege' in request.form:
        timestamp=time.mktime(datetime.datetime.strptime(request.form['datum']+' '+request.form['ido'], '%Y-%m-%d %H:%M').timetuple())
        d.add_event(timestamp, category='Alvas vege', note=request.form['bejegyzes'],user=user)                
    elif 'osszes' in request.form:
        timespan=None
    events=d.read_events(timespan)[::-1]
    now=time.time()
    return render_template('muci.html', name='Adel', age=d.calculate_timeleft(),#, weight='3000 g', height='15 cm', 
                            utolso24ora=d.utolso24ora(),
                           today=utils.timestamp2ymd(now), now=utils.timestamp2hm(now),
                           categories=CATEGORIES,
                           events=d.format_events(events), eventids=d.event_ids(events))
Exemple #3
0
def napirend():
    import datetime
    import StringIO,matplotlib

    from matplotlib.backends.backend_agg import FigureCanvasAgg as FigureCanvas
    from matplotlib.figure import Figure
    from matplotlib.dates import DateFormatter
    font = {'size'   : 6}

    matplotlib.rc('font', **font)
    nplots=8
    fig=Figure(dpi=120, figsize=(6,15))
    #fig.set_size_inches((20,5))
    d=data_storage.DataStorage(ROOT)
    
    ax=fig.add_subplot(nplots,1,1)
    tk,kaki,tsz,szopi=d.plot()
    tk=numpy.array([datetime.datetime.fromtimestamp(tki) for tki in tk])
    tsz=numpy.array([datetime.datetime.fromtimestamp(tszi) for tszi in tsz])
    ax.plot_date(tk,kaki,'o-')
    ax.plot_date(tsz,szopi, 'v-')
    ax.grid(True)
    ax.legend(['Kaki', 'Szopi'], loc='upper left', prop={'size':7})
    ax.xaxis.set_major_formatter(DateFormatter('%m.%d %Hh'))
    #fig.autofmt_xdate()
    
    ax=fig.add_subplot(nplots,1,2)
    sz,szi,k,ki=d.napirend()
    for i in range(len(sz)-1,0,-1):
        ss=numpy.array([datetime.datetime.fromtimestamp(s) for s in sz[i]])
        ax.plot_date(ss, szi[i],'o' if i == 0 else 'v-', ms=4)
    ax.legend( map(str,range(len(sz))), loc='upper left', prop={'size':7})
    ax.xaxis.set_major_formatter(DateFormatter('%H:00'))
    ax.grid(True)
    
    ax.set_title('Szopi idok',fontsize=12)
    ax=fig.add_subplot(nplots,1,3)
    ax.set_title('Kaki idok',fontsize=12)
    for i in range(len(k)-1,0,-1):
        ss=numpy.array([datetime.datetime.fromtimestamp(s) for s in k[i]])
        ax.plot_date(ss, ki[i],'o' if i == 0 else 'v-', ms=4)
    ax.legend(map(str,range(len(sz))), loc='upper left', prop={'size':7})
    ax.xaxis.set_major_formatter(DateFormatter('%H:00'))
    ax.grid(True)
    
    
    ax=fig.add_subplot(nplots,1,4)
    a=d.alvas()
    ax.set_title('Napi alvas idok',fontsize=12)
    for ai in a[::-1][:6]:
        ax.plot_date(map(datetime.datetime.fromtimestamp,ai[1][:,0]-3600), ai[1][:,1]/60., 'o-', ms=4)
        ax.grid(True)
    ax.xaxis.set_major_formatter(DateFormatter('%H:00'))
    ax=fig.add_subplot(nplots,1,5)
    ax.set_title('Napi alvas',fontsize=12)
    a=a[-data_storage.PLOT_NAPOK:]
    x=[i[0] for i in a]
    y=[i[2] for i in a]
    ax.plot_date(x, y, 'v-')
    ax.grid(True)
    ax.xaxis.set_major_formatter(DateFormatter('%m.%d'))
    ax=fig.add_subplot(nplots,1,6)
    ax.set_title('Testsuly',fontsize=12)
    t,s=d.testsuly()
    t=numpy.array([datetime.datetime.fromtimestamp(ti) for ti in t])
    ax.plot_date(t, s,'v-')
    ax.grid(True)
    ax.xaxis.set_major_formatter(DateFormatter('%m.%d.'))
    if 0:
        ax=fig.add_subplot(nplots,1,7)
        ax.set_title('Pelenka/nap',fontsize=12)
        t,s=d.pelenka()
        t=numpy.array([datetime.datetime.fromtimestamp(ti) for ti in t])
        ax.plot_date(t, s,'ro-')
        ax.grid(True)
        ax.xaxis.set_major_formatter(DateFormatter('%m.%d.'))
    
    ax=fig.add_subplot(nplots,1,7)
    ax.set_title('Szobahomerseklet',fontsize=12)
    
    t,temp=read_temp('/home/rz/codes/m-monitor/temp.txt')
    ax.plot_date(t,temp,'-')
    t,temp=read_temp('/home/rz/codes/m-monitor/temp_tisztaszoba.txt')
    ax.plot_date(t,temp,'-')
    ax.grid(True)
    ax.legend(['Haloszoba', 'Tisztaszoba'],loc='upper left',prop={'size':7})
    ax.xaxis.set_major_formatter(DateFormatter('%m.%d. %H:%M'))
    
    kaki,szopi=d.napi_kaki_szopi()
    ax=fig.add_subplot(nplots,1,8)
    ax.set_title('Kaki,szopi',fontsize=12)
    ax.xaxis.set_major_formatter(DateFormatter('%m.%d'))
    ax.plot_date(list(kaki[:,0]),list(kaki[:,1]),'o-', markersize=3)
    ax.plot_date(list(szopi[:,0]),list(szopi[:,1]),'o-', markersize=3)
    ax.grid(True)
    ax.legend(['Kaki','szopi'],loc='upper left',prop={'size':7})
    fig.tight_layout()
    canvas=FigureCanvas(fig)
    png_output = StringIO.StringIO()
    canvas.print_png(png_output)
    response=make_response(png_output.getvalue())
    response.headers['Content-Type'] = 'image/png'
    return response
Exemple #4
0
    png_output = StringIO.StringIO()
    canvas.print_png(png_output)
    response=make_response(png_output.getvalue())
    response.headers['Content-Type'] = 'image/png'
    return response
    
def read_temp(fn):
    f=open(fn,'rt')
    txt=f.read()
    f.close()
    t0=time.time()-4*86400
    line_items=[line.split(' ') for line in txt.split('\n')[:-1]]
    temp_data=numpy.array([[float(l[0]),float(l[-1])] for l in line_items if float(l[0])>t0])    
    t=numpy.array([datetime.datetime.fromtimestamp(ti) for ti in temp_data[:,0]])
    return t,temp_data[:,1]


if __name__ == "__main__":
    if len(sys.argv)>1:
        if '--reset' in sys.argv:
            d=data_storage.DataStorage( ROOT)
            os.remove(d.database_filename)
            d=data_storage.DataStorage( ROOT)
        elif '--adduser' in sys.argv:
            u=user.User( ROOT)
            u.add(sys.argv[2],sys.argv[3])
    else:
        app.logger.info('Server started')
        app.run(host= '0.0.0.0', port=2016,threaded=True)