import pandas as pd
import numpy as np
import os

ROOT_PATH: str = os.path.join(os.path.dirname(__file__), '..', '..')


def compare_balance_sheets(ticker_list: list):
    df_ret = pd.DataFrame(columns=['total_assets', 'current_assets', 'total_debt', 'current_debt'])

    for i, ticker in enumerate(ticker_list):
        assets_debt = pd.read_csv(ROOT_PATH + r'/Companies_Data/' + ticker + '_Data/' + ticker + '_balance_sheet_4Y+4Q.csv')
        selected_data = assets_debt[['TotalAssets', 'TotalDebt', 'CurrentAssets', 'CurrentDebt']]

        df_ret.loc[ticker, 'total_assets'] = selected_data.iloc[0]['TotalAssets']
        df_ret.loc[ticker, 'current_assets'] = selected_data.iloc[0]['TotalDebt']
        df_ret.loc[ticker, 'total_debt'] = selected_data.iloc[0]['CurrentAssets']
        df_ret.loc[ticker, 'current_debt'] = selected_data.iloc[0]['CurrentDebt']

    df_ret.loc[:, 'old_assets'] = df_ret['total_assets'].copy() - df_ret['current_assets'].copy()
    df_ret.loc[:, 'old_debt'] = df_ret['total_debt'].copy() - df_ret['current_debt'].copy()

    df_ret.index.name = 'ticker'
    return df_ret.reset_index(drop=False).replace({ np.nan: None }).to_dict('records')