Esempio n. 1
0
def show_new_results_data(comparison_id):
    # t = td_parsers.load_table_from_xls('test_sheet.xls', 'MainSheet')
    # data = []
    # for row in t.rows:
    #     data.append(row)
    # cell_statuses = [str(c) for c in comparison._diff_cells]

    comparison = td_persist.retrieve_results(comparison_id)

    items = []
    item_styles = []
    for row_index in range(comparison.max_rows):
        items_row = []
        item_styles_row = []
        for col_index in range(comparison.max_cols):
            if (row_index, col_index) in comparison.same_cells:
                items_row.append(comparison.same_cells[(row_index, col_index)])
                item_styles_row.append("ok")
            elif (row_index, col_index) in comparison.diff_cells:
                items_row.append(
                    Markup("Expected: %s<br>Actual: %s" %
                           comparison.diff_cells[(row_index, col_index)]))
                item_styles_row.append("mismatch")
            elif (row_index,
                  col_index) in comparison.expected_table_only_cells:
                items_row.append(
                    Markup("Expected: %s<br>Actual: --missing--" %
                           comparison.expected_table_only_cells[(row_index,
                                                                 col_index)]))
                item_styles_row.append("missing_expected")
            elif (row_index, col_index) in comparison.actual_table_only_cells:
                items_row.append(
                    Markup("Expected: --missing--<br>Actual: %s" %
                           comparison.actual_table_only_cells[(row_index,
                                                               col_index)]))
                item_styles_row.append("missing_actual")
            elif (row_index,
                  col_index) in comparison.neither_table_cell_coords:
                items_row.append("")
                item_styles_row.append("padding")
            else:
                raise Exception("Untreated cell: %s" %
                                ((row_index, col_index)))

        items.append(items_row)
        item_styles.append(item_styles_row)

    response = {
        "result": "ok",
        "data": {
            "cells": items,
            "cell_statuses": item_styles,
        }
    }
    return flask.jsonify(response)
Esempio n. 2
0
def show_new_results_data(comparison_id):
    # t = td_parsers.load_table_from_xls('test_sheet.xls', 'MainSheet')
    # data = []
    # for row in t.rows:
    #     data.append(row)
    # cell_statuses = [str(c) for c in comparison._diff_cells]

    comparison = td_persist.retrieve_results(comparison_id)

    items = []
    item_styles = []
    for row_index in range(comparison.max_rows):
        items_row = []
        item_styles_row = []
        for col_index in range(comparison.max_cols):
            if (row_index, col_index) in comparison.same_cells:
                items_row.append(comparison.same_cells[(row_index, col_index)])
                item_styles_row.append("ok")
            elif (row_index, col_index) in comparison.diff_cells:
                items_row.append(Markup("Expected: %s<br>Actual: %s" %
                               comparison.diff_cells[(row_index, col_index)]))
                item_styles_row.append("mismatch")
            elif (row_index, col_index) in comparison.expected_table_only_cells:
                items_row.append(Markup("Expected: %s<br>Actual: --missing--" %
                               comparison.expected_table_only_cells[(row_index, col_index)]))
                item_styles_row.append("missing_expected")
            elif (row_index, col_index) in comparison.actual_table_only_cells:
                items_row.append(Markup("Expected: --missing--<br>Actual: %s" %
                               comparison.actual_table_only_cells[(row_index, col_index)]))
                item_styles_row.append("missing_actual")
            elif (row_index, col_index) in comparison.neither_table_cell_coords:
                items_row.append("")
                item_styles_row.append("padding")
            else:
                raise Exception("Untreated cell: %s" % ((row_index, col_index)))

        items.append(items_row)
        item_styles.append(item_styles_row)


    response = {"result": "ok",
                "data": {"cells": items,
                         "cell_statuses": item_styles,
                        }
                }
    return flask.jsonify(response)
Esempio n. 3
0
__author__ = 'ajb'

from PIL import Image, ImageDraw
import td_persist

comparison_id = "8f17e59c-1ac4-489d-8201-dab8729334c7"
comparison = td_persist.retrieve_results(comparison_id)

im = Image.new("RGB", (comparison.max_cols, comparison.max_rows), "orange")
# im = Image.new("RGB", ((comparison.max_cols * 2) + 1, (comparison.max_rows * 2) + 1), "orange")
draw = ImageDraw.Draw(im)

MATCH_COLOR = "#33FF99"
DIFF_COLOR = "white"
ONE_TABLE_ONLY_COLOR = "red"
PADDING_COLOR = "yellow"

for row_index in range(comparison.max_rows):
    for col_index in range(comparison.max_cols):
        if (row_index, col_index) in comparison.same_cells:
            draw.point((col_index, row_index), MATCH_COLOR)

        elif (row_index, col_index) in comparison.diff_cells:
            draw.point((col_index, row_index), DIFF_COLOR)

        elif (row_index, col_index) in comparison.expected_table_only_cells:
            draw.point((col_index, row_index), ONE_TABLE_ONLY_COLOR)

        elif (row_index, col_index) in comparison.actual_table_only_cells:
            draw.point((col_index, row_index), ONE_TABLE_ONLY_COLOR)