# from pandas_datareader import data
import matplotlib.pyplot as plt
import matplotlib.dates as mdates
import pandas as pd
import datetime as dt
# import urllib.request, json
import os
# import alpha_advantage_api_key as aa_api_key
# import polygon_api_key as poly_api_key
# import numpy as np
import mplfinance as mpf

ROOTDIR = os.path.abspath(os.curdir)

def get_chart(ticker):
    # Stock ticker
    # ticker = 'AAPL'
    # print(ticker)
    file_to_open = os.path.join(ROOTDIR, 'market_data', ticker + '.csv')
    png_to_save = os.path.join(ROOTDIR, 'static', ticker + '.png')
    print(png_to_save)

    if not os.path.exists(file_to_open):
        quit("File not found")

    # df = pd.read_csv(file_to_open, index_col=0, parse_dates=True, skipinitialspace=False)
    df = pd.read_csv(file_to_open, parse_dates=True, skipinitialspace=False)
    # Sort DataFrame by date
    df = df.sort_values('Date')
    

    # Display 5 most recent days
    df_reverse = df.sort_values('Date', ascending=False)
    print(df_reverse.head().to_string(index=True))

    # # Plot
    # plt.figure(figsize = (12,6))
    # plt.plot(range(df.shape[0]),(df['Low']+df['High'])/2.0)
    # plt.xticks(range(0,df.shape[0],500),df['Date'].loc[::500],rotation=45)
    # plt.xlabel('Date',fontsize=18)
    # plt.ylabel('Mid Price',fontsize=18)
    # plt.title(ticker, fontsize=26)
    # plt.show()

    current_date = dt.datetime.now()
    formatted_current_date = current_date.strftime('%Y-%m-%d')

    # One Year Candlestick Chart
    formatted_one_year_ago = (current_date - dt.timedelta(days=365)).strftime('%Y-%m-%d')
    tdf = df.loc[formatted_one_year_ago:formatted_current_date,:]
    try:
        mpf.plot(tdf, type='candlestick', style='charles', volume=True, title=ticker, figsize=(16,8), savefig=png_to_save)
    except:
        pass