3 \';@sddlZddlZejdedddZGdddZGdddZGd d d ZGd d d eZGd ddeZ dddZ e dkre dS)Nz"the formatter module is deprecated) stacklevelc@seZdZd'ddZddZddZdd Zd(d d Zd d ZddZ ddZ ddZ ddZ ddZ ddZddZddZddZd d!Zd)d#d$Zd*d%d&ZdS)+ NullFormatterNcCs|dkrt}||_dS)N) NullWriterwriter)selfrr!/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)rargskwrrr add_hor_rule/szNullFormatter.add_hor_rulecCsdS)Nr)rformatcounterr rrr add_label_data0szNullFormatter.add_label_datacCsdS)Nr)rdatarrr add_flowing_data1szNullFormatter.add_flowing_datacCsdS)Nr)rrrrr add_literal_data2szNullFormatter.add_literal_datacCsdS)Nr)rrrr flush_softspace3szNullFormatter.flush_softspacecCsdS)Nr)ralignrrr push_alignment4szNullFormatter.push_alignmentcCsdS)Nr)rrrr pop_alignment5szNullFormatter.pop_alignmentcCsdS)Nr)rxrrr push_font6szNullFormatter.push_fontcCsdS)Nr)rrrr pop_font7szNullFormatter.pop_fontcCsdS)Nr)rmarginrrr push_margin8szNullFormatter.push_margincCsdS)Nr)rrrr pop_margin9szNullFormatter.pop_margincCsdS)Nr)rspacingrrr set_spacing:szNullFormatter.set_spacingcGsdS)Nr)rstylesrrr push_style;szNullFormatter.push_stylecCsdS)Nr)rnrrr pop_style<szNullFormatter.pop_stylecCsdS)Nr)rflagrrr 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@seZdZddZddZddZddZd-d d Zd d ZddZ ddZ ddZ ddZ ddZ ddZddZddZddZd d!Zd"d#Zd$d%Zd&d'Zd.d)d*Zd/d+d,Zd S)0AbstractFormattercCsR||_d|_g|_g|_g|_d|_g|_d|_d|_d|_ d|_ d|_ d|_ dS)Nr%r) rr align_stack font_stack margin_stackr! style_stacknospace softspacepara_endparskip hard_break have_label)rrrrr r NszAbstractFormatter.__init__cCsb|js|jjd|_|j|krF|j rF|jj||j||_d|_d|_|_|_d|_dS)Nrr%) r6rsend_line_breakr7r5send_paragraphr2r4r3)rr rrr r ]s zAbstractFormatter.end_paragraphcCs8|jp |js"|jjd|_|_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.dt|trR|jj|j ||n |jj|d|_ |_|_|_d|_ |_ dS)Nr%r) r7r6rr8r4r9 isinstancestrsend_label_dataformat_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)N1z%dZaArZiI) format_letter format_roman)rrrlabelcrrr r>s  z AbstractFormatter.format_countercCs@d}x6|dkr:t|dd\}}tt||}||}qW|S)Nr?rr%)divmodchrord)rcaserrCrsrrr rAs   zAbstractFormatter.format_letterc Csddddg}dddg}d\}}x|d krt|d \}}|d krX||||d |}nT|d krv|||||}n6|dkr||}|d}nd}||||}||}|d }q W|dkr|jS|S)NirrDmvldr?r r%I)r?r)rFupper) rrIrZonesZfivesrCindexrrJrrr rBs&     zAbstractFormatter.format_romancCs|sdS|ddj}|ddj}dj|j}|jrF| rFdS|sP|jrx|sj|jsfd|_d|_dS|jsxd|}d|_|_|_|_|_||_|j j |dS)Nr% r) isspacejoinsplitr2r3r5r6r4r7rsend_flowing_data)rrZprespaceZ postspacerrr rs$  z"AbstractFormatter.add_flowing_datacCsZ|sdS|jr|jjd|dddk|_d|_|_|_|_|_|jj|dS)NrWr% rrX) r3rr\r6r2r4r5r7send_literal_data)rrrrr rs z"AbstractFormatter.add_literal_datacCs:|jr6d|_|_|_|_|_d|_|jjddS)Nrr%rW)r3r6r4r5r7r2rr\)rrrr rsz!AbstractFormatter.flush_softspacecCs@|r.||jkr.|jj|||_|jj|n|jj|jdS)N)rr new_alignmentr.append)rrrrr rs  z AbstractFormatter.push_alignmentcCsH|jr|jd=|jr2|jd|_}|jj|nd|_|jjddS)Nr%rXrX)r.rrr_)rrrrr rszAbstractFormatter.pop_alignmentc Cs|\}}}}|jr6d|_|_|_d|_|jjd|jr~|jd\}}}} |tkrZ|}|tkrf|}|tkrr|}|tkr~| }||||f}|jj||jj |dS)Nrr%rWrX) r3r6r4r2rr\r/AS_ISr`new_font) rfontsizerKbZttZcsizeZcicbZcttrrr rs$    zAbstractFormatter.push_fontcCs4|jr|jd=|jr |jd}nd}|jj|dS)Nr%rXrX)r/rrb)rrcrrr rs  zAbstractFormatter.pop_fontcCsD|jj|dd|jD}| r.|r.|d}|jj|t|dS)NcSsg|] }|r|qSrr).0rLrrr sz1AbstractFormatter.push_margin..r%rX)r0r`r new_marginlen)rrfstackrrr 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|_|jjdx|D]}|jj|q0W|jjt |jdS)Nrr%rW) r3r6r4r2rr\r1r` new_stylestuple)rr#Zstylerrr r$s  zAbstractFormatter.push_styler%cCs$|j| d=|jjt|jdS)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@steZdZddZddZddZddZd d Zd d Zd dZ ddZ ddZ ddZ ddZ ddZddZdS)rcCsdS)Nr)rrrr r 2szNullWriter.__init__cCsdS)Nr)rrrr flush3szNullWriter.flushcCsdS)Nr)rrrrr r_4szNullWriter.new_alignmentcCsdS)Nr)rrcrrr rb5szNullWriter.new_fontcCsdS)Nr)rrlevelrrr 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@sdeZdZddZddZddZddZd d Zd d Zd dZ ddZ ddZ ddZ ddZ dS)AbstractWritercCstd|fdS)Nznew_alignment(%r))print)rrrrr r_IszAbstractWriter.new_alignmentcCstd|fdS)Nz new_font(%r))rr)rrcrrr rbLszAbstractWriter.new_fontcCstd||fdS)Nznew_margin(%r, %d))rr)rrrprrr riOszAbstractWriter.new_margincCstd|fdS)Nznew_spacing(%r))rr)rr!rrr rlRszAbstractWriter.new_spacingcCstd|fdS)Nznew_styles(%r))rr)rr#rrr rmUszAbstractWriter.new_stylescCstd|fdS)Nzsend_paragraph(%r))rr)rr rrr r9XszAbstractWriter.send_paragraphcCs tddS)Nzsend_line_break())rr)rrrr r8[szAbstractWriter.send_line_breakcOs tddS)Nzsend_hor_rule())rr)rrrrrr r:^szAbstractWriter.send_hor_rulecCstd|fdS)Nzsend_label_data(%r))rr)rrrrr r=aszAbstractWriter.send_label_datacCstd|fdS)Nzsend_flowing_data(%r))rr)rrrrr r\dsz AbstractWriter.send_flowing_datacCstd|fdS)Nzsend_literal_data(%r))rr)rrrrr r^gsz AbstractWriter.send_literal_dataN)r*r+r,r_rbrirlrmr9r8r:r=r\r^rrrr rqAsrqc@sFeZdZdddZddZddZd d Zd d Zd dZddZ dS) DumbWriterNHcCs(|ptj|_||_tj||jdS)N)sysstdoutfilemaxcolrr reset)rrwrxrrr r ts  zDumbWriter.__init__cCsd|_d|_dS)Nr)colatbreak)rrrr ryzszDumbWriter.resetcCs |jjd|d|_d|_dS)Nr]r)rwwriterzr{)rr rrr r9~szDumbWriter.send_paragraphcCs|jjdd|_d|_dS)Nr]r)rwr|rzr{)rrrr r8s zDumbWriter.send_line_breakcOs:|jjd|jjd|j|jjdd|_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|jD]N}|rn|t||kr^|dd}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 Cst}t|}|dk r t|}n$tjddr>ttjd}ntj}z0x*|D]"}|dkrd|jdqL|j|qLWWd|tjk r|jX|jddS)Nr%r]r) rsr-openruargvstdinr rclose)rwwffplinerrr tests     r__main__)N) ruwarningswarnDeprecationWarningrarr-rrqrsrr*rrrr s"k*C