def get_table_response()

in functions/source/bot_fulfillment/bot_fulfillment.py [0:0]


def get_table_response(column_names, content, param_formatter, response_type, result, rows, slots):
    result = []
    for row in rows:
        item = create_record(row, column_names)
        if 'Revenue' in item:
            if item['Revenue'] > 100000:
                item['Revenue'] = '$' + format(int(round(item['Revenue'] / 1000)), ',d') + 'K'
            else:
                item['Revenue'] = '$' + format(int(round(item['Revenue'])), ',d')
        if 'Orders' in item:
            item['Orders'] = format(int(round(item['Orders'])), ',d')

        result.append(item)
    if len(result) > 0:
        total = round(sum(i[-1:][0] for i in rows))
        if 'Revenue' in column_names:
            if total > 100000:
                if len(column_names) == 3:
                    result.append({column_names[0]: "Total", column_names[1]: "",
                                   column_names[2]: '$' + format(int(round(total / 1000)), ',d') + 'K'})
                elif len(column_names) == 2:
                    result.append(
                        {column_names[0]: "Total", column_names[1]: '$' + format(int(round(total / 1000)), ',d') + 'K'})
            else:
                if len(column_names) == 3:
                    result.append({column_names[0]: "Total", column_names[1]: "",
                                   column_names[2]: '$' + format(int(round(total)), ',d')})
                elif len(column_names) == 2:
                    result.append({column_names[0]: "Total", column_names[1]: '$' + format(int(round(total)), ',d')})
        elif 'Orders' in column_names:
            if len(column_names) == 3:
                result.append(
                    {column_names[0]: "Total", column_names[1]: "", column_names[2]: format(int(round(total)), ',d')})
            elif len(column_names) == 2:
                result.append({column_names[0]: "Total", column_names[1]: format(int(round(total)), ',d')})
        elif 'Sales Team Size' in column_names:
            if len(column_names) == 3:
                result.append(
                    {column_names[0]: "Total", column_names[1]: "", column_names[2]: format(int(round(total)), ',d')})
            elif len(column_names) == 2:
                result.append({column_names[0]: "Total", column_names[1]: format(int(round(total)), ',d')})

    logger.debug("Result : " + str(result))
    response = {
        "sessionAttributes": {
            "card": json.dumps({response_type: result})
        },
        "dialogAction": {
            "type": "Close",
            "fulfillmentState": "Fulfilled",
            "message": {
                "contentType": "PlainText",
                "content": param_formatter.format(content, **slots)
            }
        }
    }
    return response