1e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#!/usr/bin/env python 2e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov# Copyright 2015 The PDFium Authors. All rights reserved. 3e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov# Use of this source code is governed by a BSD-style license that can be 4e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov# found in the LICENSE file. 5e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov 6e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganovimport difflib 7e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganovimport sys 8e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov 9e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganovdef main(argv): 10e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov if len(argv) != 3: 11e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov print '%s: invalid arguments' % argv[0] 12e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov return 2 13e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov filename1 = argv[1] 14e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov filename2 = argv[2] 15e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov try: 16e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov with open(filename1, "r") as f1: 17e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov str1 = f1.readlines(); 18e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov with open(filename2, "r") as f2: 19e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov str2 = f2.readlines(); 20e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov diffs = difflib.unified_diff( 21e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov str1, str2, fromfile=filename1, tofile=filename2) 22e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov except Exception as e: 23e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov print "something went astray: %s" % e 24e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov return 1 25e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov status_code = 0 26e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov for diff in diffs: 27e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov sys.stdout.write(diff) 28e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov status_code = 1 29e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov return status_code 30e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov 31e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganovif __name__ == '__main__': 32e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov sys.exit(main(sys.argv)) 33