These files are a subset of the python-2.7.2.tgz distribution from python.org. Changed files from PyMod-2.7.2 have been copied into the corresponding directories of this tree, replacing the original files in the distribution. Signed-off-by: daryl.mcdaniel@intel.com git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13197 6f19259b-4bc3-4df7-8a09-765794883524
		
			
				
	
	
		
			50 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			50 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
| """ Command line interface to difflib.py providing diffs in four formats:
 | |
| 
 | |
| * ndiff:    lists every line and highlights interline changes.
 | |
| * context:  highlights clusters of changes in a before/after format.
 | |
| * unified:  highlights clusters of changes in an inline format.
 | |
| * html:     generates side by side comparison with change highlights.
 | |
| 
 | |
| """
 | |
| 
 | |
| import sys, os, time, difflib, optparse
 | |
| 
 | |
| def main():
 | |
| 
 | |
|     usage = "usage: %prog [options] fromfile tofile"
 | |
|     parser = optparse.OptionParser(usage)
 | |
|     parser.add_option("-c", action="store_true", default=False, help='Produce a context format diff (default)')
 | |
|     parser.add_option("-u", action="store_true", default=False, help='Produce a unified format diff')
 | |
|     parser.add_option("-m", action="store_true", default=False, help='Produce HTML side by side diff (can use -c and -l in conjunction)')
 | |
|     parser.add_option("-n", action="store_true", default=False, help='Produce a ndiff format diff')
 | |
|     parser.add_option("-l", "--lines", type="int", default=3, help='Set number of context lines (default 3)')
 | |
|     (options, args) = parser.parse_args()
 | |
| 
 | |
|     if len(args) == 0:
 | |
|         parser.print_help()
 | |
|         sys.exit(1)
 | |
|     if len(args) != 2:
 | |
|         parser.error("need to specify both a fromfile and tofile")
 | |
| 
 | |
|     n = options.lines
 | |
|     fromfile, tofile = args
 | |
| 
 | |
|     fromdate = time.ctime(os.stat(fromfile).st_mtime)
 | |
|     todate = time.ctime(os.stat(tofile).st_mtime)
 | |
|     fromlines = open(fromfile, 'U').readlines()
 | |
|     tolines = open(tofile, 'U').readlines()
 | |
| 
 | |
|     if options.u:
 | |
|         diff = difflib.unified_diff(fromlines, tolines, fromfile, tofile, fromdate, todate, n=n)
 | |
|     elif options.n:
 | |
|         diff = difflib.ndiff(fromlines, tolines)
 | |
|     elif options.m:
 | |
|         diff = difflib.HtmlDiff().make_file(fromlines,tolines,fromfile,tofile,context=options.c,numlines=n)
 | |
|     else:
 | |
|         diff = difflib.context_diff(fromlines, tolines, fromfile, tofile, fromdate, todate, n=n)
 | |
| 
 | |
|     sys.stdout.writelines(diff)
 | |
| 
 | |
| if __name__ == '__main__':
 | |
|     main()
 |