
Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­
<!DOCTYPE html>
<html>
3

  \';  ã               @   sŠ   d dl Z d dlZejdedd� dZG dd„ dƒZG dd„ dƒZG d	d
„ d
ƒZG dd„ deƒZG dd„ deƒZ	ddd„Z
edkr†e
ƒ  dS )é    Nz"the formatter module is deprecatedé   )Ú
stacklevelc               @   s¤   e Zd Zd'dd„Zdd„ Zdd„ Zdd	„ Zd(d
d„Zdd„ Zdd„ Z	dd„ Z
dd„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd„ Zd d!„ Zd)d#d$„Zd*d%d&„ZdS )+ÚNullFormatterNc             C   s   |d krt ƒ }|| _d S )N)Ú
NullWriterÚwriter)Úselfr   © r   ú!/usr/lib64/python3.6/formatter.pyÚ__init__)   s    zNullFormatter.__init__c             C   s   d S )Nr   )r   Ú	blankliner   r   r	   Úend_paragraph-   s    zNullFormatter.end_paragraphc             C   s   d S )Nr   )r   r   r   r	   Úadd_line_break.   s    zNullFormatter.add_line_breakc             O   s   d S )Nr   )r   ÚargsÚkwr   r   r	   Úadd_hor_rule/   s    zNullFormatter.add_hor_rulec             C   s   d S )Nr   )r   ÚformatÚcounterr   r   r   r	   Úadd_label_data0   s    zNullFormatter.add_label_datac             C   s   d S )Nr   )r   Údatar   r   r	   Úadd_flowing_data1   s    zNullFormatter.add_flowing_datac             C   s   d S )Nr   )r   r   r   r   r	   Úadd_literal_data2   s    zNullFormatter.add_literal_datac             C   s   d S )Nr   )r   r   r   r	   Úflush_softspace3   s    zNullFormatter.flush_softspacec             C   s   d S )Nr   )r   Úalignr   r   r	   Úpush_alignment4   s    zNullFormatter.push_alignmentc             C   s   d S )Nr   )r   r   r   r	   Úpop_alignment5   s    zNullFormatter.pop_alignmentc             C   s   d S )Nr   )r   Úxr   r   r	   Ú	push_font6   s    zNullFormatter.push_fontc             C   s   d S )Nr   )r   r   r   r	   Úpop_font7   s    zNullFormatter.pop_fontc             C   s   d S )Nr   )r   Úmarginr   r   r	   Úpush_margin8   s    zNullFormatter.push_marginc             C   s   d S )Nr   )r   r   r   r	   Ú
pop_margin9   s    zNullFormatter.pop_marginc             C   s   d S )Nr   )r   Úspacingr   r   r	   Úset_spacing:   s    zNullFormatter.set_spacingc             G   s   d S )Nr   )r   Ústylesr   r   r	   Ú
push_style;   s    zNullFormatter.push_styleé   c             C   s   d S )Nr   )r   Únr   r   r	   Ú	pop_style<   s    zNullFormatter.pop_stylec             C   s   d S )Nr   )r   Úflagr   r   r	   Úassert_line_data=   s    zNullFormatter.assert_line_data)N)N)r%   )r%   )Ú__name__Ú
__module__Ú__qualname__r
   r   r   r   r   r   r   r   r   r   r   r   r   r    r"   r$   r'   r)   r   r   r   r	   r      s$   


r   c               @   sº   e Zd Zdd„ Zdd„ Zdd„ Zdd„ Zd-d
d„Zdd„ Zdd„ Z	dd„ Z
dd„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd„ Zd d!„ Zd"d#„ Zd$d%„ Zd&d'„ Zd.d)d*„Zd/d+d,„Zd	S )0ÚAbstractFormatterc             C   sR   || _ d | _g | _g | _g | _d | _g | _d| _d| _d| _	d| _
d| _d| _d S )Nr%   r   )r   r   Úalign_stackÚ
font_stackÚmargin_stackr!   Ústyle_stackÚnospaceÚ	softspaceÚpara_endÚparskipÚ
hard_breakÚ
have_label)r   r   r   r   r	   r
   N   s    zAbstractFormatter.__init__c             C   sb   | j s| jjƒ  d| _| j|k rF| j rF| jj|| j ƒ || _d| _d | _  | _| _d| _d S )Nr   r%   )	r6   r   Úsend_line_breakr7   r5   Úsend_paragraphr2   r4   r3   )r   r   r   r   r	   r   ]   s    
zAbstractFormatter.end_paragraphc             C   s8   | j p
| js"| jjƒ  d | _| _d | _ | _d| _d S )Nr   r%   )r6   r4   r   r8   r7   r5   r2   r3   )r   r   r   r	   r   h   s
    
z AbstractFormatter.add_line_breakc             O   sF   | j s| jjƒ  | jj||Ž d | _ | _d | _ | _ | _| _d S )Nr%   r   )	r6   r   r8   Úsend_hor_ruler2   r7   r4   r3   r5   )r   r   r   r   r   r	   r   o   s
    
zAbstractFormatter.add_hor_ruleNc             C   s†   | j s| j r| jjƒ  | js2| jj|r,dp.dƒ t|tƒrR| jj| j	||ƒƒ n| jj|ƒ d | _
 | _  | _| _d | _| _d S )Nr%   r   )r7   r6   r   r8   r4   r9   Ú
isinstanceÚstrÚsend_label_dataÚformat_counterr2   r3   r5   )r   r   r   r   r   r   r	   r   v   s    

z AbstractFormatter.add_label_datac             C   sx   d}xn|D ]f}|dkr$|d|  }q
|dkrF|dkrp|| j ||ƒ }q
|dkrh|dkrp|| j||ƒ }q
|| }q
W |S )NÚ Ú1z%dZaAr   ZiI)Úformat_letterÚformat_roman)r   r   r   ÚlabelÚcr   r   r	   r>   ‚   s    
z AbstractFormatter.format_counterc             C   s@   d}x6|dkr:t |d dƒ\}}tt|ƒ| ƒ}|| }qW |S )Nr?   r   r%   é   )ÚdivmodÚchrÚord)r   Úcaser   rC   r   Úsr   r   r	   rA   ‘   s    
zAbstractFormatter.format_letterc       	      C   sÌ   ddddg}dddg}d\}}x˜|d	kr¶t |d
ƒ\}}|dkrX|| ||d   | }nT|dkrv|| ||  | }n6|dkr�|| }|d }nd}||| |  }|| }|d }q W |dkrÈ|jƒ S |S )NÚir   rD   ÚmÚvÚlÚdr?   r   é
   é	   r%   é   é   ÚI)r?   r   )rF   Úupper)	r   rI   r   ZonesZfivesrC   Úindexr   rJ   r   r   r	   rB   œ   s&    


zAbstractFormatter.format_romanc             C   s¬   |sd S |d d… j ƒ }|dd … j ƒ }dj|jƒ ƒ}| jrF| rFd S |sP| jrx|sj| jsfd| _d| _d S | jsxd| }d | _ | _ | _ | _| _|| _| j	j
|ƒ d S )Nr%   ú r   éÿÿÿÿ)ÚisspaceÚjoinÚsplitr2   r3   r5   r6   r4   r7   r   Úsend_flowing_data)r   r   ZprespaceZ	postspacer   r   r	   r   ´   s$     
z"AbstractFormatter.add_flowing_datac             C   sZ   |sd S | j r| jjdƒ |dd … dk| _d | _ | _ | _  | _| _| jj|ƒ d S )NrW   r%   Ú
r   rX   )	r3   r   r\   r6   r2   r4   r5   r7   Úsend_literal_data)r   r   r   r   r	   r   È   s     z"AbstractFormatter.add_literal_datac             C   s:   | j r6d | _ | _ | _ | _| _ d| _| jjdƒ d S )Nr   r%   rW   )r3   r6   r4   r5   r7   r2   r   r\   )r   r   r   r	   r   Ñ   s    z!AbstractFormatter.flush_softspacec             C   s@   |r.|| j kr.| jj|ƒ || _ | jj|ƒ n| jj| j ƒ d S )N)r   r   Únew_alignmentr.   Úappend)r   r   r   r   r	   r   Ø   s
    z AbstractFormatter.push_alignmentc             C   sH   | j r| j d= | j r2| j d  | _}| jj|ƒ nd | _| jjd ƒ d S )Nr%   rX   rX   )r.   r   r   r_   )r   r   r   r   r	   r   à   s    zAbstractFormatter.pop_alignmentc       
      C   s¦   |\}}}}| j r6d | _ | _| _ d| _| jjdƒ | jr~| jd \}}}}	|tkrZ|}|tkrf|}|tkrr|}|tkr~|	}||||f}| jj|ƒ | jj	|ƒ d S )Nr   r%   rW   rX   )
r3   r6   r4   r2   r   r\   r/   ÚAS_ISr`   Únew_font)
r   ÚfontÚsizerK   ÚbZttZcsizeZciÚcbZcttr   r   r	   r   ê   s$        zAbstractFormatter.push_fontc             C   s4   | j r| j d= | j r | j d }nd }| jj|ƒ d S )Nr%   rX   rX   )r/   r   rb   )r   rc   r   r   r	   r   ú   s    zAbstractFormatter.pop_fontc             C   sD   | j j|ƒ dd„ | j D ƒ}| r.|r.|d }| jj|t|ƒƒ d S )Nc             S   s   g | ]}|r|‘qS r   r   )Ú.0rL   r   r   r	   ú
<listcomp>  s    z1AbstractFormatter.push_margin.<locals>.<listcomp>r%   rX   )r0   r`   r   Ú
new_marginÚlen)r   r   Úfstackr   r   r	   r     s
    
zAbstractFormatter.push_marginc             C   sF   | j r| j d= dd„ | j D ƒ}|r,|d }nd }| jj|t|ƒƒ d S )Nr%   c             S   s   g | ]}|r|‘qS r   r   )rg   rL   r   r   r	   rh     s    z0AbstractFormatter.pop_margin.<locals>.<listcomp>rX   rX   )r0   r   ri   rj   )r   rk   r   r   r   r	   r    
  s    
zAbstractFormatter.pop_marginc             C   s   || _ | jj|ƒ d S )N)r!   r   Únew_spacing)r   r!   r   r   r	   r"     s    zAbstractFormatter.set_spacingc             G   sZ   | j r*d | _ | _| _ d| _| jjdƒ x|D ]}| jj|ƒ q0W | jjt	| jƒƒ d S )Nr   r%   rW   )
r3   r6   r4   r2   r   r\   r1   r`   Ú
new_stylesÚtuple)r   r#   Zstyler   r   r	   r$     s    
zAbstractFormatter.push_styler%   c             C   s$   | j | d …= | jjt| j ƒƒ d S )N)r1   r   rm   rn   )r   r&   r   r   r	   r'   !  s    zAbstractFormatter.pop_stylec             C   s$   |  | _ | _d | _ | _| _d S )Nr   )r2   r6   r4   r5   r7   )r   r(   r   r   r	   r)   %  s    z"AbstractFormatter.assert_line_data)N)r%   )r%   )r*   r+   r,   r
   r   r   r   r   r>   rA   rB   r   r   r   r   r   r   r   r   r    r"   r$   r'   r)   r   r   r   r	   r-   @   s*   
	
	
	
r-   c               @   st   e Zd Zdd„ Zdd„ Zdd„ Zdd„ Zd	d
„ Zdd„ Zdd„ Z	dd„ Z
dd„ Zdd„ Zdd„ Zdd„ Zdd„ ZdS )r   c             C   s   d S )Nr   )r   r   r   r	   r
   2  s    zNullWriter.__init__c             C   s   d S )Nr   )r   r   r   r	   Úflush3  s    zNullWriter.flushc             C   s   d S )Nr   )r   r   r   r   r	   r_   4  s    zNullWriter.new_alignmentc             C   s   d S )Nr   )r   rc   r   r   r	   rb   5  s    zNullWriter.new_fontc             C   s   d S )Nr   )r   r   Úlevelr   r   r	   ri   6  s    zNullWriter.new_marginc             C   s   d S )Nr   )r   r!   r   r   r	   rl   7  s    zNullWriter.new_spacingc             C   s   d S )Nr   )r   r#   r   r   r	   rm   8  s    zNullWriter.new_stylesc             C   s   d S )Nr   )r   r   r   r   r	   r9   9  s    zNullWriter.send_paragraphc             C   s   d S )Nr   )r   r   r   r	   r8   :  s    zNullWriter.send_line_breakc             O   s   d S )Nr   )r   r   r   r   r   r	   r:   ;  s    zNullWriter.send_hor_rulec             C   s   d S )Nr   )r   r   r   r   r	   r=   <  s    zNullWriter.send_label_datac             C   s   d S )Nr   )r   r   r   r   r	   r\   =  s    zNullWriter.send_flowing_datac             C   s   d S )Nr   )r   r   r   r   r	   r^   >  s    zNullWriter.send_literal_dataN)r*   r+   r,   r
   ro   r_   rb   ri   rl   rm   r9   r8   r:   r=   r\   r^   r   r   r   r	   r   *  s   r   c               @   sd   e Zd Zdd„ Zdd„ Zdd„ Zdd„ Zd	d
„ Zdd„ Zdd„ Z	dd„ Z
dd„ Zdd„ Zdd„ ZdS )ÚAbstractWriterc             C   s   t d|f ƒ d S )Nznew_alignment(%r))Úprint)r   r   r   r   r	   r_   I  s    zAbstractWriter.new_alignmentc             C   s   t d|f ƒ d S )Nznew_font(%r))rr   )r   rc   r   r   r	   rb   L  s    zAbstractWriter.new_fontc             C   s   t d||f ƒ d S )Nznew_margin(%r, %d))rr   )r   r   rp   r   r   r	   ri   O  s    zAbstractWriter.new_marginc             C   s   t d|f ƒ d S )Nznew_spacing(%r))rr   )r   r!   r   r   r	   rl   R  s    zAbstractWriter.new_spacingc             C   s   t d|f ƒ d S )Nznew_styles(%r))rr   )r   r#   r   r   r	   rm   U  s    zAbstractWriter.new_stylesc             C   s   t d|f ƒ d S )Nzsend_paragraph(%r))rr   )r   r   r   r   r	   r9   X  s    zAbstractWriter.send_paragraphc             C   s   t dƒ d S )Nzsend_line_break())rr   )r   r   r   r	   r8   [  s    zAbstractWriter.send_line_breakc             O   s   t dƒ d S )Nzsend_hor_rule())rr   )r   r   r   r   r   r	   r:   ^  s    zAbstractWriter.send_hor_rulec             C   s   t d|f ƒ d S )Nzsend_label_data(%r))rr   )r   r   r   r   r	   r=   a  s    zAbstractWriter.send_label_datac             C   s   t d|f ƒ d S )Nzsend_flowing_data(%r))rr   )r   r   r   r   r	   r\   d  s    z AbstractWriter.send_flowing_datac             C   s   t d|f ƒ d S )Nzsend_literal_data(%r))rr   )r   r   r   r   r	   r^   g  s    z AbstractWriter.send_literal_dataN)r*   r+   r,   r_   rb   ri   rl   rm   r9   r8   r:   r=   r\   r^   r   r   r   r	   rq   A  s   rq   c               @   sF   e Zd Zddd„Zdd„ Zdd„ Zd	d
„ Zdd„ Zdd„ Zdd„ Z	dS )Ú
DumbWriterNéH   c             C   s(   |pt j| _|| _tj| ƒ | jƒ  d S )N)ÚsysÚstdoutÚfileÚmaxcolr   r
   Úreset)r   rw   rx   r   r   r	   r
   t  s    
zDumbWriter.__init__c             C   s   d| _ d| _d S )Nr   )ÚcolÚatbreak)r   r   r   r	   ry   z  s    zDumbWriter.resetc             C   s    | j jd| ƒ d| _d| _d S )Nr]   r   )rw   Úwriterz   r{   )r   r   r   r   r	   r9   ~  s    zDumbWriter.send_paragraphc             C   s   | j jdƒ d| _d| _d S )Nr]   r   )rw   r|   rz   r{   )r   r   r   r	   r8   ƒ  s    zDumbWriter.send_line_breakc             O   s:   | j jdƒ | j jd| j ƒ | j jdƒ d| _d| _d S )Nr]   ú-r   )rw   r|   rx   rz   r{   )r   r   r   r   r   r	   r:   ˆ  s
    zDumbWriter.send_hor_rulec             C   sV   | j j|ƒ |jdƒ}|dkr4d| _||d d … }|jƒ }| jt|ƒ | _d| _d S )Nr]   r   r%   )rw   r|   Úrfindrz   Ú
expandtabsrj   r{   )r   r   rK   r   r   r	   r^   �  s    
zDumbWriter.send_literal_datac             C   s¢   |sd S | j p|d jƒ }| j}| j}| jj}xZ|jƒ D ]N}|rn|t|ƒ |kr^|dƒ d}n|dƒ |d }||ƒ |t|ƒ }d}q8W || _|d jƒ | _ d S )Nr   r]   rW   r%   rX   )r{   rY   rz   rx   rw   r|   r[   rj   )r   r   r{   rz   rx   r|   Zwordr   r   r	   r\   ™  s$     zDumbWriter.send_flowing_data)Nrt   )
r*   r+   r,   r
   ry   r9   r8   r:   r^   r\   r   r   r   r	   rs   k  s   	

rs   c             C   s˜   t ƒ }t|ƒ}| d k	r t| ƒ}n$tjdd … r>ttjd ƒ}ntj}z0x*|D ]"}|dkrd|jdƒ qL|j|ƒ qLW W d |tjk	rˆ|jƒ  X |jdƒ d S )Nr%   r]   r   )	rs   r-   Úopenru   ÚargvÚstdinr   r   Úclose)rw   ÚwÚfÚfpÚliner   r   r	   Útest®  s    



rˆ   Ú__main__)N)ru   ÚwarningsÚwarnÚDeprecationWarningra   r   r-   r   rq   rs   rˆ   r*   r   r   r   r	   Ú<module>   s   " k*C
