Viewing File: /opt/alt/python35/lib64/python3.5/__pycache__/difflib.cpython-35.opt-2.pyc



]H@sdddddddddd	d
dgZdd
lmZddlmZeddZddZGdddZ	ddddZ
ddZGdddZddl
Z
e
jdjddZdddZddZd d d d dd!d"dZd#d$Zd d d d dd!d%dZd&d'Zd(d(d(d(dd)d*d	Zded+dZdded,d-Zd.Zd/Zd0Zd1ZGd2d
d
eZ[
d3dZ d4d5Z!e"d6kre!dS)7get_close_matchesndiffrestoreSequenceMatcherDifferIS_CHARACTER_JUNKIS_LINE_JUNKcontext_diffunified_diff
diff_bytesHtmlDiffMatch)nlargest)
namedtupleza b sizecCs|rd||SdS)Ng@g?)matcheslengthrr,/opt/alt/python35/lib64/python3.5/difflib.py_calculate_ratio&src@seZdZddddddZddZdd	Zd
dZdd
ZddZddZ	ddZ
dddZddZddZ
ddZdS)rNTcCs6||_d|_|_||_|j||dS)N)isjunkabautojunkset_seqs)selfrrrrrrr__init__s;		zSequenceMatcher.__init__cCs|j||j|dS)N)set_seq1set_seq2)rrrrrrrs	
zSequenceMatcher.set_seqscCs0||jkrdS||_d|_|_dS)N)rmatching_blocksopcodes)rrrrrrs	zSequenceMatcher.set_seq1cCsC||jkrdS||_d|_|_d|_|jdS)N)rrr 
fullbcount_SequenceMatcher__chain_b)rrrrrrs		zSequenceMatcher.set_seq2cCsP|j}i|_}x9t|D]+\}}|j|g}|j|q#Wt|_}|j}|rx-|jD]}||r~|j	|q~Wx|D]
}||=qWt|_
}t|}	|jrL|	dkrL|	dd}
x9|j
D]+\}}t||
kr|j	|qWx|D]
}||=q;WdS)Nd)rb2j	enumerate
setdefaultappendsetbjunkrkeysaddZbpopularlenritems)rrr&ieltindicesZjunkrZpopularnZntestZidxsrrrZ	__chain_b)s,	
	

zSequenceMatcher.__chain_bcCs|j|j|j|jjf\}}}}||d}	}
}i}g}
xt||D]}|j}i}x|j|||
D]q}||krq||krP||ddd}||<||kr||d||d|}	}
}qW|}q]Wxm|	|krw|
|krw|||
drw||	d||
dkrw|	d|
d|d}	}
}qWx_|	||kr|
||kr|||
|r||	|||
|kr|d7}q{Wxl|	|krH|
|krH|||
drH||	d||
dkrH|	d|
d|d}	}
}qWx^|	||kr|
||kr|||
|r||	|||
|kr|d}qLWt|	|
|S)Nr
r%)rrr&r+__contains__rangegetr)raloahiblobhirrr&ZisbjunkZbestiZbestjZbestsizeZj2lenZnothingr0Zj2lengetZnewj2lenjkrrrfind_longest_matchPsB8-	(
$#	$#z"SequenceMatcher.find_longest_matchcCs|jdk	r|jSt|jt|j}}d|d|fg}g}x|r|j\}}}}|j||||\}	}
}}|rS|j|||	kr||
kr|j||	||
f|	||krS|
||krS|j|	|||
||fqSW|jd}
}}g}xt|D]l\}}}|
||kr|||kr||7}qD|r|j|
||f|||}
}}qDW|r|j|
||f|j||dftt	t
j||_|jS)Nr
)rr.rrpopr=r)sortlistmapr_make)rlalbqueuerr7r8r9r:r0r;r<xi1j1Zk1Znon_adjacenti2j2Zk2rrrget_matching_blockss8	%
 %
 
z#SequenceMatcher.get_matching_blockscCs|jdk	r|jSd}}g|_}x|jD]\}}}d}||krp||krpd}n'||krd}n||krd}|r|j|||||f||||}}|r:|jd||||fq:W|S)Nr
rreplacedeleteinsertequal)r rKr))rr0r;Zansweraibjsizetagrrrget_opcodess$

		 zSequenceMatcher.get_opcodesc

cs|j}|sdg}|dddkr{|d\}}}}}|t||||t||||f|d<|dddkr|d\}}}}}||t||||t|||f|d<||}g}	x|D]\}}}}}|dkr|||kr|	j||t||||t|||f|	Vg}	t|||t|||}}|	j|||||fqW|	rt|	dko|	dddkr|	VdS)NrOr
r%)rOr
r%r
r%rVrV)rTmaxminr)r.)
rr3ZcodesrSrGrIrHrJnngrouprrrget_grouped_opcodes<s(	33
6' -z#SequenceMatcher.get_grouped_opcodescCsBtdd|jD}t|t|jt|jS)Ncss|]}|dVqdS)r%NrVr).0Ztriplerrr	<genexpr>sz(SequenceMatcher.ratio.<locals>.<genexpr>)sumrKrr.rr)rrrrrrationszSequenceMatcher.ratiocCs|jdkrJi|_}x+|jD] }|j|dd||<q&W|j}i}|jd}}x`|jD]U}||r||}n|j|d}|d||<|dkrs|d}qsWt|t|jt|jS)Nr
r%)r!rr6r4rrr.)rr!r1ZavailZavailhasrZnumbrrrquick_ratios

	
zSequenceMatcher.quick_ratiocCs9t|jt|j}}tt||||S)N)r.rrrrX)rrCrDrrrreal_quick_ratiosz SequenceMatcher.real_quick_ratio)__name__
__module____qualname__rrrrr"r=rKrTr[r_r`rarrrrr+sl@,'nG72rUg333333?cCs|dkstd|fd|ko6dknsNtd|fg}t}|j|xj|D]b}|j||j|krq|j|krq|j|krq|j|j|fqqWt||}dd|DS)Nr
zn must be > 0: %rgg?z cutoff must be in [0.0, 1.0]: %rcSsg|]\}}|qSrr)r\ZscorerFrrr
<listcomp>s	z%get_close_matches.<locals>.<listcomp>)	
ValueErrorrrrrar`r_r)	_nlargest)ZwordZ
possibilitiesr3cutoffresultsrFrrrrs	


cCsDdt|}}x*||kr?|||kr?|d7}qW|S)Nr
r%)r.)linechr0r3rrr_count_leadings
rmc@sjeZdZddddZddZddZdd	Zd
dZdd
ZddZ	dS)rNcCs||_||_dS)N)linejunkcharjunk)rrnrorrrrMs	zDiffer.__init__c
cst|j||}x|jD]\}}}}}|dkrd|j||||||}	n|dkr|jd|||}	na|dkr|jd|||}	n:|dkr|jd|||}	ntd|f|	EdHq"WdS)	NrLrM-rN+rO zunknown tag %r)rrnrT_fancy_replace_dumprf)
rrrcruncherrSr7r8r9r:grrrcompareds"!zDiffer.compareccs1x*t||D]}d|||fVqWdS)Nz%s %s)r5)rrSrFlohir0rrrrtszDiffer._dumpc
cs||||krG|jd|||}|jd|||}n0|jd|||}|jd|||}x||fD]}	|	EdHqWdS)Nrqrp)rt)
rrr7r8rr9r:firstsecondrvrrr_plain_replaceszDiffer._plain_replaceccsd\}}t|j}	d\}
}xt||D]}||}
|	j|
xt||D]}||}||
kr|
dkrd||}
}qd|	j||	j|krd|	j|krd|	j|krd|	j||}}}qdWq7W||krU|
dkr>|j||||||EdHdS|
|d}}}nd}
|j	||||||EdH||||}}|
dkrd}}|	j
||x|	jD]\}}}}}||||}}|dkr|d|7}|d|7}q|dkr6|d|7}q|d	krS|d
|7}q|dkr~|d|7}|d|7}qtd
|fqW|j
||||EdHn	d|V|j	||d|||d|EdHdS)NGz??g?rrL^rMrprNrqrOrrzunknown tag %rz  r%)r}r~)NN)rror5rrrar`r_r|
_fancy_helperrrTrf_qformat)rrr7r8rr9r:Z
best_ratiorhruZeqiZeqjr;rQr0rPZbest_iZbest_jZaeltZbeltatagsbtagsrSZai1Zai2Zbj1Zbj2rCrDrrrrssX




"!!
"	zDiffer._fancy_replaceccsg}||krZ||kr?|j||||||}q~|jd|||}n$||kr~|jd|||}|EdHdS)Nrprq)rsrt)rrr7r8rr9r:rvrrrrs!zDiffer._fancy_helperccstt|dt|d}t|t|d|d}t|t|d|d}||dj}||dj}d|V|rdd||fVd|V|rdd||fVdS)N	rrz- z? %s%s
z+ )rXrmrstrip)rZalineZblinerrcommonrrrr
s""		zDiffer._qformat)
rbrcrdrrwrtr|rsrrrrrrrs^)^Nz
\s*(?:#\s*)?$cCs||dk	S)Nr)rkpatrrrr>sz 	cCs
||kS)Nr)rlZwsrrrrNscCsM|d}||}|dkr-dj|S|s=|d8}dj||S)Nr%z{}z{},{})format)startstop	beginningrrrr_format_range_unifiedes



rr
ccst|||||||d}xtd||j|D]z}	|sd}|redj|nd}
|rdj|nd}dj||
|Vdj|||V|	d|	d}}
t|d|
d	}t|d
|
d}dj|||Vx|	D]\}}}}}|d
krTx!|||D]}d|Vq>Wq|dkrx!|||D]}d|VqqW|dkrx!|||D]}d|VqWqWq>WdS)NFTz	{}rz
--- {}{}{}z
+++ {}{}{}r
r%rUz@@ -{} +{} @@{}rOrrrLrMrprNrqrV>rLrM>rLrN)_check_typesrr[rr)rrfromfiletofilefromfiledate
tofiledater3linetermstartedrZfromdatetodaterzlastfile1_rangefile2_rangerSrGrIrHrJrkrrrr	ps0)"

cCsU|d}||}|s$|d8}|dkr=dj|Sdj|||dS)Nr%z{}z{},{})r)rrrrrrr_format_range_contexts



rc	cst|||||||tdddddddd}d	}	xtd||j|D]}
|	sd
}	|rdj|nd}|rdj|nd}d
j|||Vdj|||V|
d|
d}
}d|Vt|
d|d}dj||Vtdd|
DrxQ|
D]I\}}}}}|dkr5x%|||D]}|||VqgWq5Wt|
d|d}dj||Vtdd|
Dr_xQ|
D]I\}}}}}|dkrx%|||D]}|||VqWqWq_WdS)NrNz+ rMz- rLz! rOz  FTz	{}rz
*** {}{}{}z
--- {}{}{}r
r%z***************rz
*** {} ****{}css*|] \}}}}}|dkVqdS)rLrMN>rLrMr)r\rS_rrrr]szcontext_diff.<locals>.<genexpr>rUrz
--- {} ----{}css*|] \}}}}}|dkVqdS)rLrNN>rLrNr)r\rSrrrrr]srV)rdictrr[rrany)rrrrrrr3rprefixrrZrrrzrrrSrGrIrrkrrHrJrrrrs4,!"	cGs|rAt|dtrAtdt|dj|df|rt|dtrtdt|dj|dfx0|D](}t|tstd|fqWdS)Nr
z)lines to compare must be str, not %s (%r)z"all arguments must be str, not: %r)
isinstancestr	TypeErrortyperb)rrargsargrrrrs!!
rs
c		csdd}	tt|	|}tt|	|}|	|}|	|}|	|}|	|}|	|}|||||||||}
x|
D]}|jddVqWdS)NcSshy|jddSWnMtk
rc}z-dt|j|f}t||WYdd}~XnXdS)Nasciisurrogateescapez(all arguments must be bytes, not %s (%r))decodeAttributeErrorrrbr)rjerrmsgrrrr-szdiff_bytes.<locals>.decoderr)r@rAencode)Zdfuncrrrrrrr3rrlinesrkrrrr
"s!
cCst||j||S)N)rrw)rrrnrorrrr@s#c#sddl}|jdt||||ddgfddfddfdd}|}|dkr|EdHnN|d	7}d}x;ddg|}	}
d
}xi|d
kr+yt|\}}
}Wntk
rdSYnX|	|}||
|f|
|<|	d	7}	qW|	|krFdV|}n|	}d}	x1|r|	|}|	d	7}	|
|V|d	8}qUW|d	}xJ|rt|\}}
}|r|d	}n
|d	8}||
|fVqWqWdS)Nr
z
(\++|\-+|\^+)cs>||d7<|dkr;|||jdddfS|dkr|jd|jd}}g}|dd}j||xXt|D]J\}\}	}
|d|	d|||	|
d||
d}qW|dd}n7|jddd}|sd	}d||d}|||fS)
Nr%r
r?cSs3|j|jdd|jg|jdS)Nr%r
)r)rZspan)Zmatch_objectsub_inforrrrecord_sub_infos&z3_mdiff.<locals>._make_line.<locals>.record_sub_inforr)r>subreversed)rZ
format_keysideZ	num_linestextZmarkersrrkeyZbeginend)	change_rerr
_make_lines !<z_mdiff.<locals>._make_linec3s4g}d\}}xx,t|dkrC|jtdqWdjdd|D}|jdrx|}nO|jdr|dd|dd	d
fVqn|jdr|d	8}|dddd
fVqn|jdr(|ddd}}|d	d}}n|jdrc|dd|dd	d
fVqnd|jdr|dd|dd	d
fVqn)|jdr|d	8}|dddd
fVqn|jdr|d	7}d|dd	d
fVqn|jdrLd|dd	}}|d	d}}n{|jdr|d	7}d|dd	d
fVqnB|jdr|dddd|dd	dfVqx|dkr|d	7}dVqWx|dkr
|d	8}dVqW|jdrdS||d
fVqWdS) Nr
rXrcSsg|]}|dqS)r
r)r\rkrrrres	z2_mdiff.<locals>._line_iterator.<locals>.<listcomp>z-?+?rr%Tz--++rp--?+--+- z-+?z-?+z+--rq+ +-rrFr)r
r
)rrr)rrrr)NrTrr)rNT)r.r)nextjoin
startswith)rZnum_blanks_pendingZnum_blanks_to_yieldrj	from_lineto_line)rdiff_lines_iteratorrr_line_iteratorsf	&
&&


0
	
	z_mdiff.<locals>._line_iteratorc3s}gg}}xxt|dks@t|dkryt|\}}}Wntk
rqdSYnX|dk	r|j||f|dk	r|j||fqW|jd\}}|jd\}}|||p|fVqWdS)Nr
)r.r
StopIterationr)r>)Z
line_iterator	fromlinestolinesrr
found_diffZfromDiffZto_diff)rrr_line_pair_iterators
	
'
	z#_mdiff.<locals>._line_pair_iteratorr%F)NNN)recompilerrr)rrcontextrnrorrZline_pair_iteratorZlines_to_writeindexZcontextLinesrrrr0r)rrrrr_mdiffesN"8X!	

	
		

	
	

ran
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
          "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html>

<head>
    <meta http-equiv="Content-Type"
          content="text/html; charset=%(charset)s" />
    <title></title>
    <style type="text/css">%(styles)s
    </style>
</head>

<body>
    %(table)s%(legend)s
</body>

</html>aH
        table.diff {font-family:Courier; border:medium;}
        .diff_header {background-color:#e0e0e0}
        td.diff_header {text-align:right}
        .diff_next {background-color:#c0c0c0}
        .diff_add {background-color:#aaffaa}
        .diff_chg {background-color:#ffff77}
        .diff_sub {background-color:#ffaaaa}aZ
    <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>
%(data_rows)s        </tbody>
    </table>a
    <table class="diff" summary="Legends">
        <tr> <th colspan="2"> Legends </th> </tr>
        <tr> <td> <table border="" summary="Colors">
                      <tr><th> Colors </th> </tr>
                      <tr><td class="diff_add">&nbsp;Added&nbsp;</td></tr>
                      <tr><td class="diff_chg">Changed</td> </tr>
                      <tr><td class="diff_sub">Deleted</td> </tr>
                  </table></td>
             <td> <table border="" summary="Links">
                      <tr><th colspan="2"> Links </th> </tr>
                      <tr><td>(f)irst change</td> </tr>
                      <tr><td>(n)ext change</td> </tr>
                      <tr><td>(t)op</td> </tr>
                  </table></td> </tr>
    </table>c@seZdZeZeZeZeZdZdddeddZ	ddddd	d
ddZ
d
dZddZddZ
ddZddZddZddZddddddZdS)rr
NcCs(||_||_||_||_dS)N)_tabsize_wrapcolumn	_linejunk	_charjunk)rtabsizeZ
wrapcolumnrnrorrrrs			zHtmlDiff.__init__rFcharsetzutf-8cCs_|jtd|jd|jd|j||||d|d|d|j|dj|S)NZstylesZlegendtablernumlinesrxmlcharrefreplace)_file_templater_styles_legend
make_tablerr)rrrfromdesctodescrrrrrr	make_files		
zHtmlDiff.make_filecsNfddfdd|D}fdd|D}||fS)NcsO|jdd}|jj}|jdd}|jddjdS)Nrrrrr)rL
expandtabsrr)rk)rrrexpand_tabssz2HtmlDiff._tab_newline_replace.<locals>.expand_tabscsg|]}|qSrr)r\rk)rrrres	z1HtmlDiff._tab_newline_replace.<locals>.<listcomp>csg|]}|qSrr)r\rk)rrrres	r)rrrr)rrr_tab_newline_replaces
	zHtmlDiff._tab_newline_replacecCss|s|j||fdSt|}|j}||ks[||jdd|krr|j||fdSd}d}d}x||kr
||kr
||dkr|d7}||}|d7}q||dkr|d7}d}q|d7}|d7}qW|d|}	||d}
|rI|	d}	d||
}
|j||	f|j|d|
dS)NrrUr
rr%r>)r)r.rcount_split_line)rZ	data_listZline_numrrRrWr0r3markZline1Zline2rrrrs8
	)



	

zHtmlDiff._split_lineccsx|D]\}}}|dkr3|||fVq||\}}\}}gg}	}
|j|	|||j|
||xZ|	s|
r|	r|	jd}nd}|
r|
jd}nd}|||fVqWqWdS)Nr
rrr)rrr)rrr)rr>)rdiffsfromdatatodataflagZfromlineZfromtextZtolineZtotextfromlisttolistrrr
_line_wrapper7s 
zHtmlDiff._line_wrappercCsggg}}}x|D]\}}}y<|j|jd|||j|jd||Wn,tk
r|jd|jdYnX|j|qW|||fS)Nr
r%)r)_format_liner)rrrrflaglistrrrrrr_collect_linesSs 

zHtmlDiff._collect_linescCsy%d|}d|j||f}Wntk
r?d}YnX|jddjddjdd	}|jd
dj}d|||fS)
Nz%dz
 id="%s%s"r&z&amp;rz&gt;<z&lt;rrz&nbsp;z<<td class="diff_header"%s>%s</td><td nowrap="nowrap">%s</td>)_prefixrrLr)rrrZlinenumridrrrrhs

*zHtmlDiff._format_linecCs<dtj}dtj}tjd7_||g|_dS)Nzfrom%d_zto%d_r%)r_default_prefixr)rZ
fromprefixtoprefixrrr_make_prefixs

zHtmlDiff._make_prefixcCsP|jd}dgt|}dgt|}d\}	}
d}xt|D]u\}}
|
r|
sd}
|}td||g}d||	f||<|	d7}	d||	f||<qRd}
qRW|sdg}dg}dg}d}|r
dg}|}n
d	g}}|ds/d
||d<d|||<|||||fS)
Nr%rr
FTz id="difflib_chg_%s_%d"z"<a href="#difflib_chg_%s_%d">n</a>z2<td></td><td>&nbsp;No Differences Found&nbsp;</td>z(<td></td><td>&nbsp;Empty File&nbsp;</td>z!<a href="#difflib_chg_%s_0">f</a>z#<a href="#difflib_chg_%s_top">t</a>)r
F)rr.r'rW)rrrrrrrnext_id	next_hrefZnum_chgZ	in_changerr0rrrr_convert_flagss:


					

zHtmlDiff._convert_flagsc	Cs|j|j||\}}|r1|}nd}t|||d|jd|j}|jrs|j|}|j|\}	}
}|j|	|
|||\}	}
}}}
g}dd}xzt	t
|D]f}||dkr
|dkr>|jdq|j||
||||	||||
|fqW|sN|roddd	|dd	|f}nd
}|jt
dd
j|d|d
|jd}|jddjddjddjddjddS)Nrnroz1            <tr><td class="diff_next"%s>%s</td>%sz%<td class="diff_next">%s</td>%s</tr>
r
z)        </tbody>        
        <tbody>
z <thead><tr>%s%s%s%s</tr></thead>z!<th class="diff_next"><br /></th>z+<th colspan="2" class="diff_header">%s</th>rZ	data_rows
header_rowrr%z+z<span class="diff_add">z-z<span class="diff_sub">z^z<span class="diff_chg">rz</span>rz&nbsp;)rrrrrrrrrr5r.r)_table_templaterrrrL)rrrrrrrZ
context_linesrrrrrrrjfmtr0rrrrrrsJ
		$zHtmlDiff.make_table)rbrcrdrrrrrrrrrrrrrrrrrrrrrs$	7/	ccsy ddddit|}Wn"tk
rDtd|YnXd|f}x3|D]+}|dd|krX|ddVqXWdS)Nr%z- rz+ z)unknown delta choice (must be 1 or 2): %rz  )intKeyErrorrf)ZdeltawhichrSprefixesrkrrrrs 

cCs%ddl}ddl}|j|S)Nr
)doctestdifflibtestmod)rrrrr_test(sr__main__)#__all__heapqrrgcollectionsrZ_namedtuplerrrrrmrrrmatchrrrr	rrrr
rrrrrrobjectrrrrbrrrr<module>sP0N	HK%	
` 
Back to Directory File Manager