コード例 #1
0
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,
    )
コード例 #2
0
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)
コード例 #3
0
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,
    )
コード例 #4
0
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)