Beispiel #1
0
def smart_lab_status(tickers: tuple):
    """Информация об актуальности данных в основной локальной базе дивидендов

    Parameters
    ----------
    tickers
        Основные тикеры, для которых нужно проверить актуальность данных

    Returns
    -------
    tuple of list
        Нулевой элемент кортежа - список тикеров из переданных без актуальной информации в локальной базе
        Первый элемент кортежа - список тикеров со СмартЛаба, по которым нет актуальной информации в локальной базе
    """
    df = smart_lab_ru.dividends_smart_lab()
    result = ([], [])
    for i in range(len(df)):
        date = df.index[i]
        ticker = df.iloc[i][TICKER]
        value = df.iloc[i][DIVIDENDS]
        local_data = DividendsDataManager(ticker).value
        if (date not in local_data.index) or (local_data[date] != value):
            if ticker in tickers:
                result[0].append(ticker)
            else:
                result[1].append(ticker)
    return result
def test_dividends_smart_lab_for_ticker():
    df = smart_lab_ru.dividends_smart_lab('CHMF')
    assert isinstance(df, pd.Series)
    assert df.name == 'CHMF'
def test_dividends_smart_lab():
    df = smart_lab_ru.dividends_smart_lab()
    assert df.equals(dividends.smart_lab())