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)
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)
__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)