def getWorksheetCmdResponse(TS, data, worksheetName): presModel = data["vqlCmdResponse"]["layoutStatus"]["applicationPresModel"] zonesWithWorksheet = [ t for t in utils.listWorksheetCmdResponse(presModel) if t["worksheet"] == worksheetName ] if len(zonesWithWorksheet) == 0: zonesWithWorksheet = [ t for t in utils.listWorksheetStoryPoint(presModel) if t["worksheet"] == worksheetName ] if len(zonesWithWorksheet) == 0: return TableauWorksheet( scraper=TS, originalData=data, originalInfo={}, worksheetName=worksheetName, dataFrame=pd.DataFrame(), dataFull=utils.getDataFullCmdResponse(presModel, TS.dataSegments), cmdResponse=True, ) selectedZone = zonesWithWorksheet[0] dataFull = utils.getDataFullCmdResponse(presModel, TS.dataSegments) frameData = utils.getWorksheetCmdResponse(selectedZone, dataFull) if frameData is None: return TableauWorksheet( scraper=TS, originalData=data, originalInfo={}, worksheetName=worksheetName, dataFrame=pd.DataFrame(), dataFull=utils.getDataFullCmdResponse(presModel, TS.dataSegments), cmdResponse=True, ) df = pd.DataFrame.from_dict(frameData, orient="index").fillna(0).T return TableauWorksheet( scraper=TS, originalData=data, originalInfo={}, worksheetName=selectedZone["worksheet"], dataFrame=df, dataFull=utils.getDataFullCmdResponse(presModel, TS.dataSegments), cmdResponse=True, )
def getWorksheetsCmdResponse(TS, data): presModel = data["vqlCmdResponse"]["layoutStatus"]["applicationPresModel"] zonesWithWorksheet = utils.listWorksheetCmdResponse(presModel) dataFull = utils.getDataFullCmdResponse(presModel) output = [] for selectedZone in zonesWithWorksheet: frameData = utils.getWorksheetCmdResponse(selectedZone, dataFull) if frameData is None: continue df = pd.DataFrame.from_dict(frameData, orient="index").fillna(0).T output.append( TableauWorksheet( scraper=TS, originalData=data, originalInfo={}, worksheetName=selectedZone["worksheet"], dataFrame=df, cmdResponse=True, )) return TableauDashboard(scraper=TS, originalData=data, originalInfo={}, data=output, cmdResponse=True)
def getWorksheet(TS, data, info, worksheet) -> TableauWorksheet: presModelMap = data["secondaryInfo"]["presModelMap"] indicesInfo = utils.getIndicesInfo(presModelMap, worksheet) dataFull = utils.getDataFull(presModelMap) frameData = utils.getData(dataFull, indicesInfo) df = pd.DataFrame.from_dict(frameData, orient="index").fillna(0).T return TableauWorksheet( scraper=TS, originalData=data, originalInfo=info, worksheetName=worksheet, dataFrame=df, )
def getWorksheet(TS, data, info, worksheet) -> TableauWorksheet: presModelMap = utils.getPresModelVizData(data) if presModelMap is None: presModelMap = utils.getPresModelVizInfo(info) indicesInfo = utils.getIndicesInfoStoryPoint(presModelMap, worksheet) if "dataDictionary" not in presModelMap: presModelMap = utils.getPresModelVizDataWithoutViz(data) dataFull = utils.getDataFull(presModelMap, TS.dataSegments) else: indicesInfo = utils.getIndicesInfo(presModelMap, worksheet) dataFull = utils.getDataFull(presModelMap, TS.dataSegments) frameData = utils.getData(dataFull, indicesInfo) df = pd.DataFrame.from_dict(frameData, orient="index").fillna(0).T return TableauWorksheet(scraper=TS, originalData=data, originalInfo=info, worksheetName=worksheet, dataFull=dataFull, dataFrame=df)