Пример #1
0
def print_summary(output, same, only_in_left, only_in_right, different, left_name, right_name):
    summary=[]
    if not 'left' in left_name:
        left_name += ' (left)'
    if not 'right' in right_name:
        right_name += ' (right)'
    summary.append("No differences for:")
    if len(same) > 0:
        summary.append("\n".join(["  * '%s'" % x.path for x in same]))

    summary.append("Only in %s:" % left_name)
    for only_l in only_in_left:
        summary.append("  * '%s'" % only_l.path)

    summary.append("Only in %s:" % right_name)
    for only_r in only_in_right:
        summary.append("  * '%s'" % only_r.path)

    summary.append("Different:")
    for d in different:
        summary.append("  * '%s' -- %s vs %s" % (d[0].path, left_name, right_name))
        diffs = project_differences(d[0], d[1])
        for d in diffs['different'].keys():
            summary.append("    * %s: '%s' vs '%s'" % (d, diffs['different'][d]['left'], diffs['different'][d]['right']))
        for s in [x for x in diffs['same'].keys() if x != 'path']:
            summary.append("    * %s: %s is the same" % (s, diffs['same'][s]))
    print >> output, "\n".join(summary)
Пример #2
0
def print_json_summary(output, same, only_in_left, only_in_right, different, left_name, right_name):
    diffs = {'left_name': left_name, 'right_name': right_name,
             'same': same,
             'only_in_left': only_in_left,
             'only_in_right': only_in_right}
    diffs['differences'] = {}
    for l,r in different:
        diffs['differences'][l.path] = project_differences(l,r)
    print json.dumps(diffs, cls=ProjectJSONEncoder, indent=2, sort_keys=True)