import pandas as pd
from Cython.Plex.Regexps import Empty
from __builtin__ import True

class ChartDataBean:
    
    def __init__(self, chartTitles=[], chartValues = None):
        self.xAxisName = ''
        self.xAxis = {}
        self.series = []
        
        if chartValues is None:
            return
        if len(chartTitles) == 0:
            return
        
        self.xAxisName = chartTitles[0]
        xAxis = [round(x,4) for x in chartValues[self.xAxisName]]
            
        invisibleSeries = [
                           'Call Value', 'Call Gamma', 'Call Vega', 'Call Theta', 'Call Rho',
                           'Put Value', 'Put Gamma', 'Put Vega', 'Put Theta', 'Put Rho',
                           'Time Value']
                 
        for name in chartTitles[1:]:
            data = [round(x,6) for x in chartValues[name]]
            
            seriesData = []
            for i in range(len(xAxis)):
                seriesData.append([xAxis[i], data[i]])
            
            if name in invisibleSeries: 
                isVisible = False
            else: 
                isVisible = True
            self.series.append({'name':name, 'data':seriesData, 'visible':isVisible})
 
 
    def serialize(self):
        return {
                "xAxisName": self.xAxisName,
                "xAxis": self.xAxis,
                "series": self.series,
                }    