import json
import sys
import base64
import time
import smtplib
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart
from __config import CONFIG
from __mySqlConnector import MYSQLCONNECTOR
from datetime import datetime, timezone, timedelta




class DATAHANDLER():

    def __init__(self, inputData):
        inputData = json.loads( base64.b64decode(inputData) ) 
        self.data = inputData["data"]
        self.category = inputData["category"]

        self.myConnector = MYSQLCONNECTOR()
        self.myConnector.createHistoryTable()
        self.debug = ''

    def getFormattedDate(self, date_string):
        date_object = datetime.strptime(date_string, "%d-%b-%Y")
        new_date_format = date_object.strftime("%d%b%Y-%a").upper()
        return new_date_format



    def insertData(self):
        data = self.data.split(',')
        dateToday = data[0]
        _open = data[1]
        _high = data[2]
        _low = data[3]
        closePrev = data[4]
        curPrice = data[5]

        dateToday = self.getFormattedDate(dateToday)
        self.myConnector.setHistoryDataValue(dateToday, self.category, _open, _high, _low, closePrev, curPrice)

        

    def getDebug(self):
        return str(self.debug)



if __name__== "__main__":

    returnDict = {}
    returnDict['status'] = 'OK'
    returnDict['remarks'] = ''

    try:
        handler = DATAHANDLER(sys.argv[1])
    except Exception as e:
        returnDict['status'] = 'KO'
        returnDict['remarks'] = str(e)
        print (json.dumps(returnDict))
        sys.exit()

    try:
        handler.insertData()
    except Exception as e:
        returnDict['status'] = 'KO'
        returnDict['remarks'] = str(e) + ' ' + handler.getDebug()

    print (json.dumps(returnDict))


    