-í
ç¶<c       sâ     d  Z    d k Z  d k Z  d k l Z  e Z  d f  d „  ƒ  YZ 6 d f  d „  ƒ  YZ d f  d „  ƒ  YZ	 .d	 e	 f d
 „  ƒ  YZ
 Rd e	 f d „  ƒ  YZ Že d „ Z ¢e d j o £e ƒ  n d S(   s  Generic output formatting.

Formatter objects transform an abstract flow of formatting events into
specific output events on writer objects. Formatters manage several stack
structures to allow various properties of a writer object to be changed and
restored; writers need not be able to handle relative changes nor any sort
of ``change back'' operation. Specific writer properties which may be
controlled via formatter objects are horizontal alignment, font, and left
margin indentations. A mechanism is provided which supports providing
arbitrary, non-exclusive style settings to a writer as well. Additional
interfaces facilitate formatting events which are not reversible, such as
paragraph separation.

Writer objects encapsulate device interfaces. Abstract devices, such as
file formats, are supported as well as physical devices. The provided
implementations all work with abstract devices. The interface makes
available mechanisms for setting the properties which formatter objects
manage and inserting data into the output.
N(   s
   StringTypes   NullFormatterc      sï    t  Z  e d „ Z # d „  Z $ d „  Z % d „  Z & e d „ Z ' d „  Z ( d „  Z	 ) d „  Z
 * d	 „  Z + d
 „  Z , d „  Z - d „  Z . d „  Z / d „  Z 0 d „  Z 1 d „  Z 2 d d „ Z 3 d d „ Z RS(   Nc    s.      | o ! t ƒ  } n " | |  _  d  S(   N(   s   writers
   NullWriters   self(   s   selfs   writer(    (    s   /usr/lib/python2.2/formatter.pys   __init__ s   c    s
   # # d  S(   N(    (   s   selfs	   blankline(    (    s   /usr/lib/python2.2/formatter.pys   end_paragraph# s    c    s
   $ $ d  S(   N(    (   s   self(    (    s   /usr/lib/python2.2/formatter.pys   add_line_break$ s    c    s
   % % d  S(   N(    (   s   selfs   argss   kw(    (    s   /usr/lib/python2.2/formatter.pys   add_hor_rule% s    c    s
   & & d  S(   N(    (   s   selfs   formats   counters	   blankline(    (    s   /usr/lib/python2.2/formatter.pys   add_label_data& s    c    s
   ' ' d  S(   N(    (   s   selfs   data(    (    s   /usr/lib/python2.2/formatter.pys   add_flowing_data' s    c    s
   ( ( d  S(   N(    (   s   selfs   data(    (    s   /usr/lib/python2.2/formatter.pys   add_literal_data( s    c    s
   ) ) d  S(   N(    (   s   self(    (    s   /usr/lib/python2.2/formatter.pys   flush_softspace) s    c    s
   * * d  S(   N(    (   s   selfs   align(    (    s   /usr/lib/python2.2/formatter.pys   push_alignment* s    c    s
   + + d  S(   N(    (   s   self(    (    s   /usr/lib/python2.2/formatter.pys   pop_alignment+ s    c    s
   , , d  S(   N(    (   s   selfs   x(    (    s   /usr/lib/python2.2/formatter.pys	   push_font, s    c    s
   - - d  S(   N(    (   s   self(    (    s   /usr/lib/python2.2/formatter.pys   pop_font- s    c    s
   . . d  S(   N(    (   s   selfs   margin(    (    s   /usr/lib/python2.2/formatter.pys   push_margin. s    c    s
   / / d  S(   N(    (   s   self(    (    s   /usr/lib/python2.2/formatter.pys
   pop_margin/ s    c    s
   0 0 d  S(   N(    (   s   selfs   spacing(    (    s   /usr/lib/python2.2/formatter.pys   set_spacing0 s    c    s
   1 1 d  S(   N(    (   s   selfs   styles(    (    s   /usr/lib/python2.2/formatter.pys
   push_style1 s    i   c    s
   2 2 d  S(   N(    (   s   selfs   n(    (    s   /usr/lib/python2.2/formatter.pys	   pop_style2 s    c    s
   3 3 d  S(   N(    (   s   selfs   flag(    (    s   /usr/lib/python2.2/formatter.pys   assert_line_data3 s    (   s   __name__s
   __module__s   Nones   __init__s   end_paragraphs   add_line_breaks   add_hor_rules   add_label_datas   add_flowing_datas   add_literal_datas   flush_softspaces   push_alignments   pop_alignments	   push_fonts   pop_fonts   push_margins
   pop_margins   set_spacings
   push_styles	   pop_styles   assert_line_data(    (    (    s   /usr/lib/python2.2/formatter.pys   NullFormatter s$   	s   AbstractFormatterc      s"  6 t  Z = d „  Z L d „  Z W d „  Z ^ d „  Z e e d „ Z q d „  Z € d „  Z	 ‹ d „  Z
 £ e i e i e i d	 „ Z ¼ d
 „  Z Å d „  Z Ì d „  Z Ô d „  Z Þ d „  Z í d „  Z ö d „  Z ý d „  Z d „  Z d „  Z d d „ Z d d „ Z RS(   Nc    s£   = > | |  _  ? t |  _ @ g  |  _ A g  |  _ B g  |  _ C t |  _ D g  |  _ E d |  _	 F d |  _
 G d |  _ H d |  _ I d |  _ J d |  _ d  S(   Ni   i    (   s   writers   selfs   Nones   aligns   align_stacks
   font_stacks   margin_stacks   spacings   style_stacks   nospaces	   softspaces   para_ends   parskips
   hard_breaks
   have_label(   s   selfs   writer(    (    s   /usr/lib/python2.2/formatter.pys   __init__= s   c    s¯   L M |  i o  N |  i i ƒ  O d |  _ n P |  i | j  o |  i o6 Q |  i i | |  i ƒ R | |  _ S d |  _ n T d |  _ |  _ |  _	 U d |  _
 d  S(   Ni    i   (   s   selfs
   hard_breaks   writers   send_line_breaks
   have_labels   parskips	   blanklines   send_paragraphs   nospaces   para_ends	   softspace(   s   selfs	   blankline(    (    s   /usr/lib/python2.2/formatter.pys   end_paragraphL s   c    se   W X |  i p |  i o' Y |  i i ƒ  Z d |  _ |  _ n [ d |  _ |  _ \ d |  _ d  S(   Ni    i   (	   s   selfs
   hard_breaks   para_ends   writers   send_line_breaks
   have_labels   parskips   nospaces	   softspace(   s   self(    (    s   /usr/lib/python2.2/formatter.pys   add_line_breakW s
   c    sv   ^ _ |  i o ` |  i i ƒ  n a t |  i i | | ƒ b d |  _ |  _ c d |  _	 |  _
 |  _ |  _ d  S(   Ni   i    (   s   selfs
   hard_breaks   writers   send_line_breaks   applys   send_hor_rules   argss   kws   nospaces
   have_labels   para_ends	   softspaces   parskip(   s   selfs   argss   kw(    (    s   /usr/lib/python2.2/formatter.pys   add_hor_rule^ s
   c    sæ   e f |  i p |  i o g |  i i ƒ  n h |  i o% i |  i i | o d p d ƒ n j t | ƒ t
 j o# k |  i i |  i | | ƒ ƒ n m |  i i | ƒ n d |  _ |  _ |  _ |  _ o d |  _ |  _ d  S(   Ni   i    (   s   selfs
   have_labels
   hard_breaks   writers   send_line_breaks   para_ends   send_paragraphs	   blanklines   types   formats
   StringTypes   send_label_datas   format_counters   counters   nospaces	   softspaces   parskip(   s   selfs   formats   counters	   blankline(    (    s   /usr/lib/python2.2/formatter.pys   add_label_datae s   %#!c    sâ   q r d } s xÅ | Ds ]º } t | d j o u | d | } n v | d j o1 w | d j o x | |  i | | ƒ } n nO y | d j o1 z | d j o { | |  i | | ƒ } n n } | | } q W~ | Sd  S(   Ns    s   1s   %ds   aAi    s   iI(   s   labels   formats   cs   counters   selfs   format_letters   format_roman(   s   selfs   formats   counters   cs   label(    (    s   /usr/lib/python2.2/formatter.pys   format_counterq s   	
 	!!c    st   €  d } ‚ xW ‚ | d j oF ƒ t | d d ƒ \ } } ‡ t t | ƒ | ƒ } ˆ | | } q W‰ | Sd  S(   Ns    i    i   i   (   s   labels   counters   divmods   xs   chrs   ords   cases   s(   s   selfs   cases   counters   ss   xs   label(    (    s   /usr/lib/python2.2/formatter.pys   format_letter€ s   	 c 	   sb  ‹ Œ d d d d g }  d d d g } Ž d d	 f \ } }  xñ  | d	 j oà ‘ t | d
 ƒ \ } } ’ | d j o! “ | | | | d | } n‡ ” | d j o • | | | | | } nZ — | d j o ˜ | | } ™ | d } n
 › d } œ | | | | }  | | } ž | d } qE WŸ | d j o   | i	 ƒ  Sn ¡ | Sd  S(   Ns   is   xs   cs   ms   vs   ls   ds    i    i
   i	   i   i   i   s   I(
   s   oness   fivess   labels   indexs   counters   divmods   xs   ss   cases   upper(	   s   selfs   cases   counters   indexs   ss   oness   fivess   xs   label(    (    s   /usr/lib/python2.2/formatter.pys   format_roman‹ s(    !	c    s6  £ § | o § d  Sn ª | d  | j } « | d | j } ¬ | | | ƒ ƒ } ­ |  i o | o ® d  Snx ¯ | p |  i oc ° | o5 ± |  i o ² d |  _ ³ d |  _	 n ´ d  Sn µ |  i o ¶ d | } n n · d |  _
 |  _ |  _ |  _	 |  _ ¹ | |  _ º |  i i | ƒ d  S(   Ni   iÿÿÿÿi    s    (   s   datas
   whitespaces   prespaces	   postspaces   joins   splits   selfs   nospaces	   softspaces   parskips
   hard_breaks   para_ends
   have_labels   writers   send_flowing_data(   s   selfs   datas
   whitespaces   joins   splits   prespaces	   postspace(    (    s   /usr/lib/python2.2/formatter.pys   add_flowing_data£ s$    (c    s’   ¼ ½ | o ½ d  Sn ¾ |  i o ¿ |  i i d ƒ n À | d d j |  _ Á d |  _ |  _ |  _ |  _ |  _	 Ã |  i i
 | ƒ d  S(   Ns    iÿÿÿÿs   
i    (   s   datas   selfs	   softspaces   writers   send_flowing_datas
   hard_breaks   nospaces   para_ends   parskips
   have_labels   send_literal_data(   s   selfs   data(    (    s   /usr/lib/python2.2/formatter.pys   add_literal_data¼ s    (c    s_   Å Æ |  i oK Ç d |  _ |  _ |  _ |  _ |  _ É d |  _ Ê |  i i d ƒ n d  S(   Ni    i   s    (	   s   selfs	   softspaces
   hard_breaks   para_ends   parskips
   have_labels   nospaces   writers   send_flowing_data(   s   self(    (    s   /usr/lib/python2.2/formatter.pys   flush_softspaceÅ s   (c    sm   Ì Í | o | |  i  j o6 Î |  i i | ƒ Ï | |  _  Ð |  i i | ƒ n Ò |  i i |  i  ƒ d  S(   N(   s   aligns   selfs   writers   new_alignments   align_stacks   append(   s   selfs   align(    (    s   /usr/lib/python2.2/formatter.pys   push_alignmentÌ s
   c    s   Ô Õ |  i o Ö |  i d =n × |  i o. Ø |  i d |  _ } Ù |  i i | ƒ n  Û t |  _ Ü |  i i t ƒ d  S(   Niÿÿÿÿ(   s   selfs   align_stacks   aligns   writers   new_alignments   None(   s   selfs   align(    (    s   /usr/lib/python2.2/formatter.pys   pop_alignmentÔ s   c    s?  Þ | \ } } } } ß |  i o= à d |  _ |  _ |  _ á d |  _ â |  i	 i
 d ƒ n ã |  i o” ä |  i d \ }	 } } } å | t j o å |	 } n æ | t j o æ | } n ç | t j o ç | } n è | t j o è | } n n é | | | | f }
 ê |  i i |
 ƒ ë |  i	 i |
 ƒ d  S(   Ni    i   s    iÿÿÿÿ(   s   sizes   is   bs   tts   selfs	   softspaces
   hard_breaks   para_ends   nospaces   writers   send_flowing_datas
   font_stacks   csizes   cis   cbs   ctts   AS_ISs   fonts   appends   new_font(   s   selfs   .2s   sizes   is   bs   tts   ctts   cis   cbs   csizes   font(    (    s   /usr/lib/python2.2/formatter.pys	   push_fontÞ s"       c    sb   í î |  i o ï |  i d =n ð |  i o ñ |  i d } n
 ó t } ô |  i i | ƒ d  S(   Niÿÿÿÿ(   s   selfs
   font_stacks   fonts   Nones   writers   new_font(   s   selfs   font(    (    s   /usr/lib/python2.2/formatter.pys   pop_fontí s   	c    sn   ö ÷ |  i i | ƒ ø t t |  i ƒ } ù | o | o ú | d } n û |  i i | t	 | ƒ ƒ d  S(   Niÿÿÿÿ(
   s   selfs   margin_stacks   appends   margins   filters   Nones   fstacks   writers
   new_margins   len(   s   selfs   margins   fstack(    (    s   /usr/lib/python2.2/formatter.pys   push_marginö s
   c    sz   ý þ |  i o ÿ |  i d =n  t t |  i ƒ } | o | d } n
 t } |  i i | t | ƒ ƒ d  S(   Niÿÿÿÿ(	   s   selfs   margin_stacks   filters   Nones   fstacks   margins   writers
   new_margins   len(   s   selfs   fstacks   margin(    (    s   /usr/lib/python2.2/formatter.pys
   pop_marginý s   
	c    s&   | |  _  	|  i i | ƒ d  S(   N(   s   spacings   selfs   writers   new_spacing(   s   selfs   spacing(    (    s   /usr/lib/python2.2/formatter.pys   set_spacings   c    s—   |  i o= d |  _ |  _ |  _ d |  _ |  i i d ƒ n x$ | D] } |  i	 i
 | ƒ qW W|  i i t |  i	 ƒ ƒ d  S(   Ni    i   s    (   s   selfs	   softspaces
   hard_breaks   para_ends   nospaces   writers   send_flowing_datas   styless   styles   style_stacks   appends
   new_styless   tuple(   s   selfs   styless   style(    (    s   /usr/lib/python2.2/formatter.pys
   push_styles   
 	i   c    s1   |  i | 3|  i i t |  i ƒ ƒ d  S(   N(   s   selfs   style_stacks   ns   writers
   new_styless   tuple(   s   selfs   n(    (    s   /usr/lib/python2.2/formatter.pys	   pop_styles   c    s5   | |  _ |  _ d |  _ |  _ |  _ d  S(   Ni    (   s   flags   selfs   nospaces
   hard_breaks   para_ends   parskips
   have_label(   s   selfs   flag(    (    s   /usr/lib/python2.2/formatter.pys   assert_line_datas   (   s   __name__s
   __module__s   __init__s   end_paragraphs   add_line_breaks   add_hor_rules   Nones   add_label_datas   format_counters   format_letters   format_romans   strings
   whitespaces   joins   splits   add_flowing_datas   add_literal_datas   flush_softspaces   push_alignments   pop_alignments	   push_fonts   pop_fonts   push_margins
   pop_margins   set_spacings
   push_styles	   pop_styles   assert_line_data(    (    (    s   /usr/lib/python2.2/formatter.pys   AbstractFormatter6 s*   		
	
	s
   NullWriterc      s°   t  Z d  Z d „  Z  d „  Z !d „  Z "d „  Z #d „  Z $d „  Z %d „  Z	 &d „  Z
 'd	 „  Z (d
 „  Z )d „  Z *d „  Z +d „  Z RS(   s9   Minimal writer interface to use in testing & inheritance.c    s
   d  S(   N(    (   s   self(    (    s   /usr/lib/python2.2/formatter.pys   __init__s    c    s
     d  S(   N(    (   s   self(    (    s   /usr/lib/python2.2/formatter.pys   flush s    c    s
   !!d  S(   N(    (   s   selfs   align(    (    s   /usr/lib/python2.2/formatter.pys   new_alignment!s    c    s
   ""d  S(   N(    (   s   selfs   font(    (    s   /usr/lib/python2.2/formatter.pys   new_font"s    c    s
   ##d  S(   N(    (   s   selfs   margins   level(    (    s   /usr/lib/python2.2/formatter.pys
   new_margin#s    c    s
   $$d  S(   N(    (   s   selfs   spacing(    (    s   /usr/lib/python2.2/formatter.pys   new_spacing$s    c    s
   %%d  S(   N(    (   s   selfs   styles(    (    s   /usr/lib/python2.2/formatter.pys
   new_styles%s    c    s
   &&d  S(   N(    (   s   selfs	   blankline(    (    s   /usr/lib/python2.2/formatter.pys   send_paragraph&s    c    s
   ''d  S(   N(    (   s   self(    (    s   /usr/lib/python2.2/formatter.pys   send_line_break's    c    s
   ((d  S(   N(    (   s   selfs   argss   kw(    (    s   /usr/lib/python2.2/formatter.pys   send_hor_rule(s    c    s
   ))d  S(   N(    (   s   selfs   data(    (    s   /usr/lib/python2.2/formatter.pys   send_label_data)s    c    s
   **d  S(   N(    (   s   selfs   data(    (    s   /usr/lib/python2.2/formatter.pys   send_flowing_data*s    c    s
   ++d  S(   N(    (   s   selfs   data(    (    s   /usr/lib/python2.2/formatter.pys   send_literal_data+s    (   s   __name__s
   __module__s   __doc__s   __init__s   flushs   new_alignments   new_fonts
   new_margins   new_spacings
   new_styless   send_paragraphs   send_line_breaks   send_hor_rules   send_label_datas   send_flowing_datas   send_literal_data(    (    (    s   /usr/lib/python2.2/formatter.pys
   NullWriters   s   AbstractWriterc      s   .t  Z 0d „  Z 3d „  Z 6d „  Z 9d „  Z <d „  Z ?d „  Z Bd „  Z Ed „  Z	 Hd	 „  Z
 Kd
 „  Z Nd „  Z RS(   Nc    s   01d | GHd  S(   Ns   new_alignment(%s)(   s   align(   s   selfs   align(    (    s   /usr/lib/python2.2/formatter.pys   new_alignment0s   c    s   34d | GHd  S(   Ns   new_font(%s)(   s   font(   s   selfs   font(    (    s   /usr/lib/python2.2/formatter.pys   new_font3s   c    s   67d | | f GHd  S(   Ns   new_margin(%s, %d)(   s   margins   level(   s   selfs   margins   level(    (    s   /usr/lib/python2.2/formatter.pys
   new_margin6s   c    s   9:d | GHd  S(   Ns   new_spacing(%s)(   s   spacing(   s   selfs   spacing(    (    s   /usr/lib/python2.2/formatter.pys   new_spacing9s   c    s   <=d | GHd  S(   Ns   new_styles(%s)(   s   styles(   s   selfs   styles(    (    s   /usr/lib/python2.2/formatter.pys
   new_styles<s   c    s   ?@d | GHd  S(   Ns   send_paragraph(%s)(   s	   blankline(   s   selfs	   blankline(    (    s   /usr/lib/python2.2/formatter.pys   send_paragraph?s   c    s   BCd GHd  S(   Ns   send_line_break()(    (   s   self(    (    s   /usr/lib/python2.2/formatter.pys   send_line_breakBs   c    s   EFd GHd  S(   Ns   send_hor_rule()(    (   s   selfs   argss   kw(    (    s   /usr/lib/python2.2/formatter.pys   send_hor_ruleEs   c    s   HId | GHd  S(   Ns   send_label_data(%s)(   s   data(   s   selfs   data(    (    s   /usr/lib/python2.2/formatter.pys   send_label_dataHs   c    s   KLd | GHd  S(   Ns   send_flowing_data(%s)(   s   data(   s   selfs   data(    (    s   /usr/lib/python2.2/formatter.pys   send_flowing_dataKs   c    s   NOd | GHd  S(   Ns   send_literal_data(%s)(   s   data(   s   selfs   data(    (    s   /usr/lib/python2.2/formatter.pys   send_literal_dataNs   (   s   __name__s
   __module__s   new_alignments   new_fonts
   new_margins   new_spacings
   new_styless   send_paragraphs   send_line_breaks   send_hor_rules   send_label_datas   send_flowing_datas   send_literal_data(    (    (    s   /usr/lib/python2.2/formatter.pys   AbstractWriter.s   	s
   DumbWriterc      se   Rt  Z Te d d „ Z Zd „  Z ^d „  Z cd „  Z hd „  Z od „  Z yd „  Z	 RS(	   NiH   c    sF   TU| p t i |  _  V| |  _ Wt i |  ƒ X|  i ƒ  d  S(   N(   s   files   syss   stdouts   selfs   maxcols
   NullWriters   __init__s   reset(   s   selfs   files   maxcol(    (    s   /usr/lib/python2.2/formatter.pys   __init__Ts   c    s   Z[d |  _ \d |  _ d  S(   Ni    (   s   selfs   cols   atbreak(   s   self(    (    s   /usr/lib/python2.2/formatter.pys   resetZs   c    s6   ^_|  i i d | ƒ `d |  _ ad |  _ d  S(   Ns   
i    (   s   selfs   files   writes	   blanklines   cols   atbreak(   s   selfs	   blankline(    (    s   /usr/lib/python2.2/formatter.pys   send_paragraph^s   c    s2   cd|  i i d ƒ ed |  _ fd |  _ d  S(   Ns   
i    (   s   selfs   files   writes   cols   atbreak(   s   self(    (    s   /usr/lib/python2.2/formatter.pys   send_line_breakcs   c    s_   hi|  i i d ƒ j|  i i d |  i ƒ k|  i i d ƒ ld |  _ md |  _ d  S(   Ns   
s   -i    (   s   selfs   files   writes   maxcols   cols   atbreak(   s   selfs   argss   kw(    (    s   /usr/lib/python2.2/formatter.pys   send_hor_rulehs
   c    s‘   op|  i i | ƒ q| i d ƒ } r| d j o! sd |  _ t| | d } n u| i ƒ  } v|  i t | ƒ |  _ wd |  _	 d  S(   Ns   
i    i   (
   s   selfs   files   writes   datas   rfinds   is   cols
   expandtabss   lens   atbreak(   s   selfs   datas   i(    (    s   /usr/lib/python2.2/formatter.pys   send_literal_dataos   c    s+  yz| o zd  Sn {|  i p | d t i j } ||  i } }|  i } ~|  i i } xœ | i	 ƒ  D]‹ } €| oR | t | ƒ | j o ‚| d ƒ ƒd } n …| d ƒ †| d } n ‡| | ƒ ˆ| t | ƒ } ‰d } qp WŠ| |  _ ‹| d t i j |  _ d  S(   Ni    s   
s    i   iÿÿÿÿ(   s   datas   selfs   atbreaks   strings
   whitespaces   cols   maxcols   files   writes   splits   words   len(   s   selfs   datas   writes   maxcols   words   cols   atbreak(    (    s   /usr/lib/python2.2/formatter.pys   send_flowing_datays&      	
(
   s   __name__s
   __module__s   Nones   __init__s   resets   send_paragraphs   send_line_breaks   send_hor_rules   send_literal_datas   send_flowing_data(    (    (    s   /usr/lib/python2.2/formatter.pys
   DumbWriterRs   	
c    sñ   Žt  ƒ  } t | ƒ } ‘|  o ’t |  ƒ } n8 “t i d o ”t t i d ƒ } n –t i	 } —xe —d oZ ˜| i
 ƒ  } ™| o šPn ›| d j o œ| i d ƒ n ž| i | ƒ qx WŸ| i d ƒ d  S(   Ni   s   
i    (   s
   DumbWriters   ws   AbstractFormatters   fs   files   opens   fps   syss   argvs   stdins   readlines   lines   end_paragraphs   add_flowing_data(   s   files   fps   ws   fs   line(    (    s   /usr/lib/python2.2/formatter.pys   testŽs    
 
s   __main__(   s   __doc__s   strings   syss   typess
   StringTypes   Nones   AS_ISs   NullFormatters   AbstractFormatters
   NullWriters   AbstractWriters
   DumbWriters   tests   __name__(
   s
   StringTypes   strings
   NullWriters   NullFormatters   AbstractWriters   syss   AbstractFormatters
   DumbWriters   tests   AS_IS(    (    s   /usr/lib/python2.2/formatter.pys   ? s   	ç$<