Пример #1
0
def make_firebase_charts(stocklist):
    assert slist

    fire = Firework()
    stock_dict = dict([(x, fire.get_stock_ticker(x)) for x in stocklist])
    stock_daily = fire.get_stock_daily(stock_dict.values(), last=200)
    stock_raw = fire.get_stock_raw(stock_dict.values(), last=1200)
    figs = []
    data_list = []
    for stock in stocklist:
        ticker = stock_dict[stock]
        stock_daily_data = precond_daily(stock_daily[ticker])
        df = pd.DataFrame(stock_daily_data).sort_values('DATE')
        fig, data = make_chart(df, f'{stock} [Day]')
        figs.append(fig)
        stock_summary = data

        stock_raw_data = precond_minutes(stock_raw[ticker])
        df = pd.DataFrame(make_ohlc(stock_raw_data[-120:])).sort_values('DATE')
        fig, data = make_minute_chart(df, f'{stock} [5-min]')
        figs.append(fig)

        stock_summary['TICKER'] = ticker
        stock_summary['UPDATED'] = data['UPDATED']
        data_list.append(stock_summary)

    backup = f'{OutputFile}.org'
    try:
        os.remove(backup)
    except FileNotFoundError:
        pass
    try:
        os.rename(OutputFile, backup)
    except FileNotFoundError:
        pass

    with open(OutputFile, 'a') as f:
        latest_data = stock_raw[stock_dict[stocklist[0]]][-1]
        latest_date = latest_data['DATE']
        f.write(html_title(latest_date))
        table = plot_table(data_list)
        f.write(table)
        for fig in figs:
            f.write(fig.to_html(full_html=False, include_plotlyjs='cdn'))