def pretty_diff_dict(title, oA, oB):
    '\n    Generate a pretty diff of two dicts.\n\n    :param title: the title/heading for the line\n    :type title: string\n    :param oA: first object\n    :param oB: second object\n    :returns: list of lines, each a list of 3 columns\n    :rtype: list of lists\n    '
    lines = [[title, '', '']]
    keys = set.union(set(oA.keys()), set(oB.keys()))
    for k in sorted(keys):
        if ((k in oA) and (k in oB)):
            if (oA[k] == oB[k]):
                lines.append([k, oA[k], oB[k]])
            else:
                lines.append([k, oA[k], oB[k], True])
        elif (k in oA):
            lines.append([k, oA[k], MISSING_ITEM, True])
        else:
            lines.append([k, MISSING_ITEM, oB[k], True])
    return lines
Generate a pretty diff of two dicts.

:param title: the title/heading for the line
:type title: string
:param oA: first object
:param oB: second object
:returns: list of lines, each a list of 3 columns
:rtype: list of lists
def pretty_diff_dict(title, oA, oB):
    '\n    Generate a pretty diff of two dicts.\n\n    :param title: the title/heading for the line\n    :type title: string\n    :param oA: first object\n    :param oB: second object\n    :returns: list of lines, each a list of 3 columns\n    :rtype: list of lists\n    '
    lines = [[title, , ]]
    keys = set.union(set(oA.keys()), set(oB.keys()))
    for k in sorted(keys):
        if ((k in oA) and (k in oB)):
            if (oA[k] == oB[k]):
                lines.append([k, oA[k], oB[k]])
            else:
                lines.append([k, oA[k], oB[k], True])
        elif (k in oA):
            lines.append([k, oA[k], MISSING_ITEM, True])
        else:
            lines.append([k, MISSING_ITEM, oB[k], True])
    return lines