diff options
author | Tim Peters <tim.peters@gmail.com> | 2004-08-29 19:33:36 (GMT) |
---|---|---|
committer | Tim Peters <tim.peters@gmail.com> | 2004-08-29 19:33:36 (GMT) |
commit | afb5f9421719e7c7ada1a236bb226c9f84eaf880 (patch) | |
tree | ed8a368f3e49e2ce6f4f22a3e5cf5400abfb21bc /Lib | |
parent | 45e77c55ff3b2a3e0d6ffdd85d4fe0d61e5ff210 (diff) | |
download | cpython-afb5f9421719e7c7ada1a236bb226c9f84eaf880.zip cpython-afb5f9421719e7c7ada1a236bb226c9f84eaf880.tar.gz cpython-afb5f9421719e7c7ada1a236bb226c9f84eaf880.tar.bz2 |
Reverting whitespace normalization. test_difflib fails with it -- the
test depends on invisible trailing whitespace in .py files. The author will
have to repair that.
Diffstat (limited to 'Lib')
-rw-r--r-- | Lib/difflib.py | 62 | ||||
-rw-r--r-- | Lib/test/test_difflib.py | 32 |
2 files changed, 47 insertions, 47 deletions
diff --git a/Lib/difflib.py b/Lib/difflib.py index f855d46..aa205f7 100644 --- a/Lib/difflib.py +++ b/Lib/difflib.py @@ -1289,7 +1289,7 @@ def _mdiff(fromlines, tolines, context=None, linejunk=None, if None, all from/to text lines will be generated. linejunk -- passed on to ndiff (see ndiff documentation) charjunk -- passed on to ndiff (see ndiff documentation) - + This function returns an interator which returns a tuple: (from line tuple, to line tuple, boolean flag) @@ -1300,7 +1300,7 @@ def _mdiff(fromlines, tolines, context=None, linejunk=None, '\0-' -- marks start of deleted text '\0^' -- marks start of changed text '\1' -- marks end of added/deleted/changed text - + boolean flag -- None indicates context separation, True indicates either "from" or "to" line contains a change, otherwise False. @@ -1310,13 +1310,13 @@ def _mdiff(fromlines, tolines, context=None, linejunk=None, Note, this function utilizes the ndiff function to generate the side by side difference markup. Optional ndiff arguments may be passed to this - function and they in turn will be passed to ndiff. + function and they in turn will be passed to ndiff. """ - import re + import re # regular expression for finding intraline change indices change_re = re.compile('(\++|\-+|\^+)') - + # create the difference iterator to generate the differences diff_lines_iterator = ndiff(fromlines,tolines,linejunk,charjunk) @@ -1375,7 +1375,7 @@ def _mdiff(fromlines, tolines, context=None, linejunk=None, # thing (such as adding the line number) then replace the special # marks with what the user's change markup. return (num_lines[side],text) - + def _line_iterator(): """Yields from/to lines of text with a change indication. @@ -1392,7 +1392,7 @@ def _mdiff(fromlines, tolines, context=None, linejunk=None, """ lines = [] num_blanks_pending, num_blanks_to_yield = 0, 0 - while True: + while True: # Load up next 4 lines so we can look ahead, create strings which # are a concatenation of the first character of each of the 4 lines # so we can do some very readable comparisons. @@ -1550,7 +1550,7 @@ _file_template = """ <html> <head> - <meta http-equiv="Content-Type" + <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" /> <title></title> <style type="text/css">%(styles)s @@ -1573,9 +1573,9 @@ _styles = """ .diff_sub {background-color:#ffaaaa}""" _table_template = """ - <table class="diff" id="difflib_chg_%(prefix)s_top" - cellspacing="0" cellpadding="0" rules="groups" > - <colgroup></colgroup> <colgroup></colgroup> <colgroup></colgroup> + <table class="diff" id="difflib_chg_%(prefix)s_top" + cellspacing="0" cellpadding="0" rules="groups" > + <colgroup></colgroup> <colgroup></colgroup> <colgroup></colgroup> <colgroup></colgroup> <colgroup></colgroup> <colgroup></colgroup> %(header_row)s <tbody> @@ -1604,15 +1604,15 @@ class HtmlDiff(object): This class can be used to create an HTML table (or a complete HTML file containing the table) showing a side by side, line by line comparision - of text with inter-line and intra-line change highlights. The table can + of text with inter-line and intra-line change highlights. The table can be generated in either full or contextual difference mode. - + The following methods are provided for HTML generation: make_table -- generates HTML for a single side by side table make_file -- generates complete HTML file with a single side by side table - See tools/scripts/diff.py for an example usage of this class. + See tools/scripts/diff.py for an example usage of this class. """ _file_template = _file_template @@ -1620,7 +1620,7 @@ class HtmlDiff(object): _table_template = _table_template _legend = _legend _default_prefix = 0 - + def __init__(self,tabsize=8,wrapcolumn=None,linejunk=None, charjunk=IS_CHARACTER_JUNK): """HtmlDiff instance initializer @@ -1630,7 +1630,7 @@ class HtmlDiff(object): wrapcolumn -- column number where lines are broken and wrapped, defaults to None where lines are not wrapped. linejunk,charjunk -- keyword arguments passed into ndiff() (used to by - HtmlDiff() to generate the side by side HTML differences). See + HtmlDiff() to generate the side by side HTML differences). See ndiff() documentation for argument default values and descriptions. """ self._tabsize = tabsize @@ -1655,13 +1655,13 @@ class HtmlDiff(object): the "next" link anchors before the next change (so click of "next" link jumps to just before the change). """ - + return self._file_template % dict( styles = self._styles, legend = self._legend, table = self.make_table(fromlines,tolines,fromdesc,todesc, context=context,numlines=numlines)) - + def _tab_newline_replace(self,fromlines,tolines): """Returns from/to line lists with tabs expanded and newlines removed. @@ -1734,10 +1734,10 @@ class HtmlDiff(object): line1 = line1 + '\1' line2 = '\0' + mark + line2 - # tack on first line onto the output list + # tack on first line onto the output list data_list.append((line_num,line1)) - # use this routine again to wrap the remaining text + # use this routine again to wrap the remaining text self._split_line(data_list,'>',line2) def _line_wrapper(self,diffs): @@ -1776,7 +1776,7 @@ class HtmlDiff(object): """ fromlist,tolist,flaglist = [],[],[] - # pull from/to data and flags from mdiff style iterator + # pull from/to data and flags from mdiff style iterator for fromdata,todata,flag in diffs: try: # store HTML markup of the lines into the lists @@ -1788,7 +1788,7 @@ class HtmlDiff(object): tolist.append(None) flaglist.append(flag) return fromlist,tolist,flaglist - + def _format_line(self,side,flag,linenum,text): """Returns HTML markup of "from" / "to" text lines @@ -1802,7 +1802,7 @@ class HtmlDiff(object): id = ' id="%s%s"' % (self._prefix[side],linenum) except TypeError: # handle blank lines where linenum is '>' or '' - id = '' + id = '' # replace those things that would get confused with HTML symbols text=text.replace("&","&").replace(">",">").replace("<","<") @@ -1825,10 +1825,10 @@ class HtmlDiff(object): def _convert_flags(self,fromlist,tolist,flaglist,context,numlines): """Makes list of "next" links""" - + # all anchor names will be generated using the unique "to" prefix toprefix = self._prefix[1] - + # process change flags, generating middle column of next anchors/links next_id = ['']*len(flaglist) next_href = ['']*len(flaglist) @@ -1840,11 +1840,11 @@ class HtmlDiff(object): in_change = True last = i # at the beginning of a change, drop an anchor a few lines - # (the context lines) before the change for the previous + # (the context lines) before the change for the previous # link i = max([0,i-numlines]) next_id[i] = ' id="difflib_chg_%s_%d"' % (toprefix,num_chg) - # at the beginning of a change, drop a link to the next + # at the beginning of a change, drop a link to the next # change num_chg += 1 next_href[last] = '<a href="#difflib_chg_%s_%d">n</a>' % ( @@ -1891,11 +1891,11 @@ class HtmlDiff(object): # make unique anchor prefixes so that multiple tables may exist # on the same page without conflict. self._make_prefix() - + # change tabs to spaces before it gets more difficult after we insert # markkup fromlines,tolines = self._tab_newline_replace(fromlines,tolines) - + # create diffs iterator which generates side by side from/to data if context: context_lines = numlines @@ -1907,7 +1907,7 @@ class HtmlDiff(object): # set up iterator to wrap lines that exceed desired width if self._wrapcolumn: diffs = self._line_wrapper(diffs) - + # collect up from/to lines and flags into lists (also format the lines) fromlist,tolist,flaglist = self._collect_lines(diffs) @@ -1947,7 +1947,7 @@ class HtmlDiff(object): replace('\0^','<span class="diff_chg">'). \ replace('\1','</span>'). \ replace('\t',' ') - + del re def restore(delta, which): diff --git a/Lib/test/test_difflib.py b/Lib/test/test_difflib.py index c0bf66e..37fc548 100644 --- a/Lib/test/test_difflib.py +++ b/Lib/test/test_difflib.py @@ -46,7 +46,7 @@ patch914575_to2 = """ \tLine 2: preceeded by from:[sstt] to:[sssst] Line 3: preceeded by from:[sstst] to:[ssssss] Line 4: has from:[sst] to:[sss] after : -Line 5: has from:[t] to:[ss] at end +Line 5: has from:[t] to:[ss] at end """ patch914575_from3 = """line 0 @@ -54,9 +54,9 @@ patch914575_from3 = """line 0 line 1 line 2 line 3 -line 4 changed -line 5 changed -line 6 changed +line 4 changed +line 5 changed +line 6 changed line 7 line 8 subtracted line 9 @@ -71,9 +71,9 @@ patch914575_to3 = """line 0 line 1 line 2 added line 3 -line 4 chanGEd -line 5a chanGed -line 6a changEd +line 4 chanGEd +line 5a chanGed +line 6a changEd line 7 line 8 line 9 @@ -102,21 +102,21 @@ class TestSFpatches(unittest.TestCase): i = difflib.HtmlDiff() j = difflib.HtmlDiff(tabsize=2) k = difflib.HtmlDiff(wrapcolumn=14) - + full = i.make_file(f1a,t1a,'from','to',context=False,numlines=5) tables = '\n'.join( [ - '<h2>Context (first diff within numlines=5(default))</h2>', + '<h2>Context (first diff within numlines=5(default))</h2>', i.make_table(f1a,t1a,'from','to',context=True), - '<h2>Context (first diff after numlines=5(default))</h2>', + '<h2>Context (first diff after numlines=5(default))</h2>', i.make_table(f1b,t1b,'from','to',context=True), - '<h2>Context (numlines=6)</h2>', + '<h2>Context (numlines=6)</h2>', i.make_table(f1a,t1a,'from','to',context=True,numlines=6), - '<h2>Context (numlines=0)</h2>', + '<h2>Context (numlines=0)</h2>', i.make_table(f1a,t1a,'from','to',context=True,numlines=0), - '<h2>Same Context</h2>', + '<h2>Same Context</h2>', i.make_table(f1a,f1a,'from','to',context=True), - '<h2>Same Full</h2>', + '<h2>Same Full</h2>', i.make_table(f1a,f1a,'from','to',context=False), '<h2>Empty Context</h2>', i.make_table([],[],'from','to',context=True), @@ -139,8 +139,8 @@ class TestSFpatches(unittest.TestCase): #f.write(actual) #f.close() expect = open(findfile('test_difflib_expect.html')).read() - - + + self.assertEqual(actual,expect) Doctests = doctest.DocTestSuite(difflib) |