-í
ç¶<c       s¸   d  Z  d k Z d k Z d k l Z e Z d f  d „  ƒ  YZ d f  d „  ƒ  YZ d f  d „  ƒ  YZ	 d	 e	 f d
 „  ƒ  YZ
 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 d „  Z d „  Z d d „ Z 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   d  S(   N(    (   s   selfs   spacing(    (    s   /usr/lib/python2.2/formatter.pys   set_spacing0 s    c    s   d  S(   N(    (   s   selfs   styles(    (    s   /usr/lib/python2.2/formatter.pys
   push_style1 s    i   c    s   d  S(   N(    (   s   selfs   n(    (    s   /usr/lib/python2.2/formatter.pys	   pop_style2 s    c    s   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à   t  Z d „  Z d „  Z d „  Z d „  Z e d „ Z 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    sy   | |  _  t |  _ g  |  _ g  |  _ g  |  _ t |  _ g  |  _ d |  _	 d |  _
 d |  _ d |  _ d |  _ 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‘   |  i o |  i i ƒ  d |  _ n |  i | j  o |  i o- |  i i | |  i ƒ | |  _ d |  _ n d |  _ |  _ |  _	 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    sS   |  i p |  i o! |  i i ƒ  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    sd   |  i o |  i i ƒ  n t |  i i | | ƒ d |  _ |  _ 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È   |  i p |  i o |  i i ƒ  n |  i o" |  i i | o d p d ƒ n t | ƒ t
 j o  |  i i |  i | | ƒ ƒ n |  i i | ƒ d |  _ |  _ |  _ |  _ 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¸   d } x§ | D]Ÿ } | d j o | d | } n{ | d j o+ | d j o | |  i | | ƒ } n nC | d j o+ | 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    s\   d } xK | d j o= 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 	   s#  d d d d g } d d d g } d d	 f \ } } xÊ | d	 j o¼ t | d
 ƒ \ } } | d j o | | | | d | } no | d j o | | | | | } nH | d j o | | } | d } n d } | | | | } | | } | d } q6 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    sý   | o d  Sn | d  | j } | d | j } | | | ƒ ƒ } |  i o | o d  Sn` | p |  i oN | o) |  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    sz   | 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    sP   |  i oB 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    s[   | o | |  i  j o- |  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    sg   |  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 o4 d |  _ |  _ |  _ d |  _ |  i	 i
 d ƒ n |  i oy |  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    sM   |  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    s\   |  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    sb   |  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 o4 d |  _ |  _ |  _ d |  _ |  i i d ƒ n x | D] } |  i	 i
 | ƒ qE 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    s(   |  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    s,   | |  _ |  _ 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      sk   t  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z	 d	 „  Z
 d
 „  Z d „  Z RS(   Nc    s   d | GHd  S(   Ns   new_alignment(%s)(   s   align(   s   selfs   align(    (    s   /usr/lib/python2.2/formatter.pys   new_alignment0s    c    s   d | GHd  S(   Ns   new_font(%s)(   s   font(   s   selfs   font(    (    s   /usr/lib/python2.2/formatter.pys   new_font3s    c    s   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   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	   d GHd  S(   Ns   send_line_break()(    (   s   self(    (    s   /usr/lib/python2.2/formatter.pys   send_line_breakBs    c    s	   d GHd  S(   Ns   send_hor_rule()(    (   s   selfs   argss   kw(    (    s   /usr/lib/python2.2/formatter.pys   send_hor_ruleEs    c    s   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   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   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      sM   t  Z e d d „ Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z	 RS(	   NiH   c    s7   | p t i |  _  | |  _ t i |  ƒ |  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   d |  _ d |  _ d  S(   Ni    (   s   selfs   cols   atbreak(   s   self(    (    s   /usr/lib/python2.2/formatter.pys   resetZs    	c    s*   |  i i d | ƒ d |  _ 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    s&   |  i i d ƒ d |  _ 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    sM   |  i i d ƒ |  i i d |  i ƒ |  i i d ƒ d |  _ 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    sv   |  i i | ƒ | i d ƒ } | d j o d |  _ | | d } n | i ƒ  } |  i t | ƒ |  _ 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ï   | o d  Sn |  i p | d t i j } |  i } |  i } |  i i } x~ | i	 ƒ  D]p } | oC | t | ƒ | j o | d ƒ d } n | d ƒ | d } n | | ƒ | t | ƒ } d } qX 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 |  ƒ } n/ t i d o t t i d ƒ } n
 t i	 } xP d oH | i
 ƒ  } | o Pn | d j o | i d ƒ n | i | ƒ q] 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   		ç$<