grthtrhthjhtyjytjytkergtrhtrjytjerhrfh3 \';ã@sŠddlZddlZejdedd�dZGdd„dƒZGdd„dƒZGd d „d ƒZGd d „d eƒZGd d„deƒZ ddd„Z e dkr†e ƒdS)éNz"the formatter module is deprecatedé)Ú stacklevelc@s¤eZdZd'dd„Zdd„Zdd„Zdd „Zd(d d „Zd d „Zdd„Z dd„Z dd„Z dd„Z dd„Z dd„Zdd„Zdd„Zdd„Zd d!„Zd)d#d$„Zd*d%d&„ZdS)+Ú NullFormatterNcCs|dkrtƒ}||_dS)N)Ú NullWriterÚwriter)Úselfr©rú!/usr/lib64/python3.6/formatter.pyÚ__init__)szNullFormatter.__init__cCsdS)Nr)rÚ blanklinerrr Ú end_paragraph-szNullFormatter.end_paragraphcCsdS)Nr)rrrr Úadd_line_break.szNullFormatter.add_line_breakcOsdS)Nr)rÚargsÚkwrrr Ú add_hor_rule/szNullFormatter.add_hor_rulecCsdS)Nr)rÚformatÚcounterr rrr Úadd_label_data0szNullFormatter.add_label_datacCsdS)Nr)rÚdatarrr Úadd_flowing_data1szNullFormatter.add_flowing_datacCsdS)Nr)rrrrr Úadd_literal_data2szNullFormatter.add_literal_datacCsdS)Nr)rrrr Úflush_softspace3szNullFormatter.flush_softspacecCsdS)Nr)rÚalignrrr Úpush_alignment4szNullFormatter.push_alignmentcCsdS)Nr)rrrr Ú pop_alignment5szNullFormatter.pop_alignmentcCsdS)Nr)rÚxrrr Ú push_font6szNullFormatter.push_fontcCsdS)Nr)rrrr Úpop_font7szNullFormatter.pop_fontcCsdS)Nr)rÚmarginrrr Ú push_margin8szNullFormatter.push_margincCsdS)Nr)rrrr Ú pop_margin9szNullFormatter.pop_margincCsdS)Nr)rÚspacingrrr Ú set_spacing:szNullFormatter.set_spacingcGsdS)Nr)rÚstylesrrr Ú push_style;szNullFormatter.push_styleécCsdS)Nr)rÚnrrr Ú pop_style<szNullFormatter.pop_stylecCsdS)Nr)rÚflagrrr Úassert_line_data=szNullFormatter.assert_line_data)N)N)r%)r%)Ú__name__Ú __module__Ú __qualname__r r r rrrrrrrrrrr r"r$r'r)rrrr rs$   rc@sºeZdZdd„Zdd„Zdd„Zdd„Zd-d d „Zd d „Zdd„Z dd„Z dd„Z dd„Z dd„Z dd„Zdd„Zdd„Zdd„Zd d!„Zd"d#„Zd$d%„Zd&d'„Zd.d)d*„Zd/d+d,„Zd S)0ÚAbstractFormattercCsR||_d|_g|_g|_g|_d|_g|_d|_d|_d|_ d|_ d|_ d|_ dS)Nr%r) rrÚ align_stackÚ font_stackÚ margin_stackr!Ú style_stackÚnospaceÚ softspaceÚpara_endÚparskipÚ hard_breakÚ have_label)rrrrr r NszAbstractFormatter.__init__cCsb|js|jjƒd|_|j|krF|j rF|jj||jƒ||_d|_d|_|_|_d|_dS)Nrr%) r6rÚsend_line_breakr7r5Úsend_paragraphr2r4r3)rr rrr r ]s zAbstractFormatter.end_paragraphcCs8|jp |js"|jjƒd|_|_d|_|_d|_dS)Nrr%)r6r4rr8r7r5r2r3)rrrr r hs     z AbstractFormatter.add_line_breakcOsF|js|jjƒ|jj||Žd|_|_d|_|_|_|_dS)Nr%r) r6rr8Ú send_hor_ruler2r7r4r3r5)rrrrrr ros   zAbstractFormatter.add_hor_ruleNcCs†|js|j r|jjƒ|js2|jj|r,dp.dƒt|tƒrR|jj|j ||ƒƒn |jj|ƒd|_ |_|_|_d|_ |_ dS)Nr%r) r7r6rr8r4r9Ú isinstanceÚstrÚsend_label_dataÚformat_counterr2r3r5)rrrr rrr rvs   z AbstractFormatter.add_label_datacCsxd}xn|D]f}|dkr$|d|}q |dkrF|dkrp||j||ƒ}q |dkrh|dkrp||j||ƒ}q ||}q W|S)NÚÚ1z%dZaArZiI)Ú format_letterÚ format_roman)rrrÚlabelÚcrrr r>‚s  z AbstractFormatter.format_countercCs@d}x6|dkr:t|ddƒ\}}tt|ƒ|ƒ}||}qW|S)Nr?rr%é)ÚdivmodÚchrÚord)rÚcaserrCrÚsrrr rA‘s   zAbstractFormatter.format_letterc CsÌddddg}dddg}d\}}x˜|d kr¶t|d ƒ\}}|d krX||||d |}nT|d krv|||||}n6|dkr�||}|d}nd}||||}||}|d }q W|dkrÈ|jƒS|S)NÚirrDÚmÚvÚlÚdr?ré é r%ééÚI)r?r)rFÚupper) rrIrZonesZfivesrCÚindexrrJrrr rBœs&     zAbstractFormatter.format_romancCs¬|sdS|dd…jƒ}|dd…jƒ}dj|jƒƒ}|jrF| rFdS|sP|jrx|sj|jsfd|_d|_dS|jsxd|}d|_|_|_|_|_||_|j j |ƒdS)Nr%ú réÿÿÿÿ) ÚisspaceÚjoinÚsplitr2r3r5r6r4r7rÚsend_flowing_data)rrZprespaceZ postspacerrr r´s$  z"AbstractFormatter.add_flowing_datacCsZ|sdS|jr|jjdƒ|dd…dk|_d|_|_|_|_|_|jj|ƒdS)NrWr%Ú rrX) r3rr\r6r2r4r5r7Úsend_literal_data)rrrrr rÈs z"AbstractFormatter.add_literal_datacCs:|jr6d|_|_|_|_|_d|_|jjdƒdS)Nrr%rW)r3r6r4r5r7r2rr\)rrrr rÑsz!AbstractFormatter.flush_softspacecCs@|r.||jkr.|jj|ƒ||_|jj|ƒn|jj|jƒdS)N)rrÚ new_alignmentr.Úappend)rrrrr rØs  z AbstractFormatter.push_alignmentcCsH|jr|jd=|jr2|jd|_}|jj|ƒnd|_|jjdƒdS)Nr%rXrX)r.rrr_)rrrrr ràszAbstractFormatter.pop_alignmentc Cs¦|\}}}}|jr6d|_|_|_d|_|jjdƒ|jr~|jd\}}}} |tkrZ|}|tkrf|}|tkrr|}|tkr~| }||||f}|jj|ƒ|jj |ƒdS)Nrr%rWrX) r3r6r4r2rr\r/ÚAS_ISr`Únew_font) rÚfontÚsizerKÚbZttZcsizeZciÚcbZcttrrr rês$    zAbstractFormatter.push_fontcCs4|jr|jd=|jr |jd}nd}|jj|ƒdS)Nr%rXrX)r/rrb)rrcrrr rús  zAbstractFormatter.pop_fontcCsD|jj|ƒdd„|jDƒ}| r.|r.|d}|jj|t|ƒƒdS)NcSsg|] }|r|‘qSrr)Ú.0rLrrr ú sz1AbstractFormatter.push_margin..r%rX)r0r`rÚ new_marginÚlen)rrÚfstackrrr rs   zAbstractFormatter.push_margincCsF|jr|jd=dd„|jDƒ}|r,|d}nd}|jj|t|ƒƒdS)Nr%cSsg|] }|r|‘qSrr)rgrLrrr rh sz0AbstractFormatter.pop_margin..rXrX)r0rrirj)rrkrrrr r s zAbstractFormatter.pop_margincCs||_|jj|ƒdS)N)r!rÚ new_spacing)rr!rrr r"szAbstractFormatter.set_spacingcGsZ|jr*d|_|_|_d|_|jjdƒx|D]}|jj|ƒq0W|jjt |jƒƒdS)Nrr%rW) r3r6r4r2rr\r1r`Ú new_stylesÚtuple)rr#Zstylerrr r$s  zAbstractFormatter.push_styler%cCs$|j| d…=|jjt|jƒƒdS)N)r1rrmrn)rr&rrr r'!szAbstractFormatter.pop_stylecCs$| |_|_d|_|_|_dS)Nr)r2r6r4r5r7)rr(rrr r)%sz"AbstractFormatter.assert_line_data)N)r%)r%)r*r+r,r r r rrr>rArBrrrrrrrrr r"r$r'r)rrrr r-@s*        r-c@steZdZdd„Zdd„Zdd„Zdd„Zd d „Zd d „Zd d„Z dd„Z dd„Z dd„Z dd„Z dd„Zdd„ZdS)rcCsdS)Nr)rrrr r 2szNullWriter.__init__cCsdS)Nr)rrrr Úflush3szNullWriter.flushcCsdS)Nr)rrrrr r_4szNullWriter.new_alignmentcCsdS)Nr)rrcrrr rb5szNullWriter.new_fontcCsdS)Nr)rrÚlevelrrr ri6szNullWriter.new_margincCsdS)Nr)rr!rrr rl7szNullWriter.new_spacingcCsdS)Nr)rr#rrr rm8szNullWriter.new_stylescCsdS)Nr)rr rrr r99szNullWriter.send_paragraphcCsdS)Nr)rrrr r8:szNullWriter.send_line_breakcOsdS)Nr)rrrrrr r:;szNullWriter.send_hor_rulecCsdS)Nr)rrrrr r=<szNullWriter.send_label_datacCsdS)Nr)rrrrr r\=szNullWriter.send_flowing_datacCsdS)Nr)rrrrr r^>szNullWriter.send_literal_dataN)r*r+r,r ror_rbrirlrmr9r8r:r=r\r^rrrr r*src@sdeZdZdd„Zdd„Zdd„Zdd„Zd d „Zd d „Zd d„Z dd„Z dd„Z dd„Z dd„Z dS)ÚAbstractWritercCstd|fƒdS)Nznew_alignment(%r))Úprint)rrrrr r_IszAbstractWriter.new_alignmentcCstd|fƒdS)Nz new_font(%r))rr)rrcrrr rbLszAbstractWriter.new_fontcCstd||fƒdS)Nznew_margin(%r, %d))rr)rrrprrr riOszAbstractWriter.new_margincCstd|fƒdS)Nznew_spacing(%r))rr)rr!rrr rlRszAbstractWriter.new_spacingcCstd|fƒdS)Nznew_styles(%r))rr)rr#rrr rmUszAbstractWriter.new_stylescCstd|fƒdS)Nzsend_paragraph(%r))rr)rr rrr r9XszAbstractWriter.send_paragraphcCs tdƒdS)Nzsend_line_break())rr)rrrr r8[szAbstractWriter.send_line_breakcOs tdƒdS)Nzsend_hor_rule())rr)rrrrrr r:^szAbstractWriter.send_hor_rulecCstd|fƒdS)Nzsend_label_data(%r))rr)rrrrr r=aszAbstractWriter.send_label_datacCstd|fƒdS)Nzsend_flowing_data(%r))rr)rrrrr r\dsz AbstractWriter.send_flowing_datacCstd|fƒdS)Nzsend_literal_data(%r))rr)rrrrr r^gsz AbstractWriter.send_literal_dataN)r*r+r,r_rbrirlrmr9r8r:r=r\r^rrrr rqAsrqc@sFeZdZddd„Zdd„Zdd„Zd d „Zd d „Zd d„Zdd„Z dS)Ú DumbWriterNéHcCs(|ptj|_||_tj|ƒ|jƒdS)N)ÚsysÚstdoutÚfileÚmaxcolrr Úreset)rrwrxrrr r ts  zDumbWriter.__init__cCsd|_d|_dS)Nr)ÚcolÚatbreak)rrrr ryzszDumbWriter.resetcCs |jjd|ƒd|_d|_dS)Nr]r)rwÚwriterzr{)rr rrr r9~szDumbWriter.send_paragraphcCs|jjdƒd|_d|_dS)Nr]r)rwr|rzr{)rrrr r8ƒs zDumbWriter.send_line_breakcOs:|jjdƒ|jjd|jƒ|jjdƒd|_d|_dS)Nr]ú-r)rwr|rxrzr{)rrrrrr r:ˆs   zDumbWriter.send_hor_rulecCsV|jj|ƒ|jdƒ}|dkr4d|_||dd…}|jƒ}|jt|ƒ|_d|_dS)Nr]rr%)rwr|ÚrfindrzÚ expandtabsrjr{)rrrKrrr r^�s  zDumbWriter.send_literal_datacCs¢|sdS|jp|djƒ}|j}|j}|jj}xZ|jƒD]N}|rn|t|ƒ|kr^|dƒd}n|dƒ|d}||ƒ|t|ƒ}d}q8W||_|djƒ|_dS)Nrr]rWr%rX)r{rYrzrxrwr|r[rj)rrr{rzrxr|Zwordrrr r\™s$ zDumbWriter.send_flowing_data)Nrt) r*r+r,r ryr9r8r:r^r\rrrr rsks  rsc Cs˜tƒ}t|ƒ}|dk r t|ƒ}n$tjdd…r>ttjdƒ}ntj}z0x*|D]"}|dkrd|jdƒqL|j|ƒqLWWd|tjk rˆ|jƒX|jdƒdS)Nr%r]r) rsr-ÚopenruÚargvÚstdinr rÚclose)rwÚwÚfÚfpÚlinerrr Útest®s     rˆÚ__main__)N) ruÚwarningsÚwarnÚDeprecationWarningrarr-rrqrsrˆr*rrrr Ús"k*C