;ò
½0sDc           @   sU  d  Z  d Z d k Z d k Z d k Z d f  d     YZ d e f d     YZ e d j oô d d	 e e e d
  Z	 e	 d d d d d e	 d d d d d e	 d d d d d e	 d d d d d e	 d d d  e	 d d d  e	 d d d  e	 d d d  e	 d d d  e	 d d d  e	 d d d  e	 d d d  n d S(    s9    $Id: formatters.py 2385 2004-06-17 15:26:05Z rgbecker $ s^   
These help format numbers and dates in a user friendly way.

Used by the graphics framework.
Ns	   Formatterc           B   s2   t  Z d  Z d   Z d   Z d   Z d   Z RS(   s5   Base formatter - simply applies python format stringsc         C   s   | |  _  d  S(   N(   s   patterns   self(   s   selfs   pattern(    (    sB   /home/packages/reportlab/reportlab_2_0/reportlab/lib/formatters.pys   __init__   s    c         C   s   |  i | Sd  S(   N(   s   selfs   patterns   obj(   s   selfs   obj(    (    sB   /home/packages/reportlab/reportlab_2_0/reportlab/lib/formatters.pys   format   s    c         C   s   d |  i i |  i f Sd  S(   Ns   %s('%s')(   s   selfs	   __class__s   __name__s   pattern(   s   self(    (    sB   /home/packages/reportlab/reportlab_2_0/reportlab/lib/formatters.pys   __repr__   s    c         C   s   |  i |  Sd  S(   N(   s   selfs   formats   x(   s   selfs   x(    (    sB   /home/packages/reportlab/reportlab_2_0/reportlab/lib/formatters.pys   __call__   s    (   s   __name__s
   __module__s   __doc__s   __init__s   formats   __repr__s   __call__(    (    (    sB   /home/packages/reportlab/reportlab_2_0/reportlab/lib/formatters.pys	   Formatter   s
    			s   DecimalFormatterc           B   s8   t  Z d  Z d d e e e d  Z d   Z d   Z RS(   s˘   lets you specify how to build a decimal.

    A future NumberFormatter class will take Microsoft-style patterns
    instead - "$#,##0.00" is WAY easier than this.i   s   .c         C   s1   | |  _  | |  _ | |  _ | |  _ | |  _ d  S(   N(   s   placess   selfs
   decimalSeps   dots   thousandSeps   commas   prefixs   suffix(   s   selfs   placess
   decimalSeps   thousandSeps   prefixs   suffix(    (    sB   /home/packages/reportlab/reportlab_2_0/reportlab/lib/formatters.pys   __init__   s
    				c         C   sı  | d j  } | o | } n |  i |  i f \ } } | d j } | o | o | } n d t |  d | } | o^ | i	 d  \ } }	 | |	 }	 | o4 x1 |	 o |	 d d | g j o |	 d  }	 q£ WqŜ n d }	 |  i t j	 on d } x[ | oS | d d !| d f \ } } | d j o | | } n |  i | | } | } q÷ W| } n | |	 }
 | o d	 |
 }
 n |  i o |  i |
 }
 n |  i o |
 |  i }
 n |
 Sd  S(
   Ni    s   %.s   fs   .i˙˙˙˙s   0s    iŭ˙˙˙s   -(   s   nums   signs   selfs   placess   dots   seps   strips   strs   strInts   splits   strFracs   commas   Nones   strNews   lefts   rights   strBodys   prefixs   suffix(   s   selfs   nums   rights   placess   seps   strNews   signs   strInts   strips   strFracs   strBodys   left(    (    sB   /home/packages/reportlab/reportlab_2_0/reportlab/lib/formatters.pys   format%   sD     
   

 

c         C   sK   d |  i i |  i t |  i  t |  i  t |  i  t |  i  f Sd  S(   NsB   %s(places=%d, decimalSep=%s, thousandSep=%s, prefix=%s, suffix=%s)(	   s   selfs	   __class__s   __name__s   placess   reprs   dots   commas   prefixs   suffix(   s   self(    (    sB   /home/packages/reportlab/reportlab_2_0/reportlab/lib/formatters.pys   __repr__J   s    (   s   __name__s
   __module__s   __doc__s   Nones   __init__s   formats   __repr__(    (    (    sB   /home/packages/reportlab/reportlab_2_0/reportlab/lib/formatters.pys   DecimalFormatter   s    	%s   __main__i   s   .c   	   	   C   si   t  | | | | |  } | |   } d | i | i	 | i
 | i | i | | | j o d p d f GHd  S(   NsE   places=%2d dot=%-4s comma=%-4s prefix=%-4s suffix=%-4s result=%10s %ss   OKs   BAD(   s   DecimalFormatters   placess
   decimalSeps   thousandSeps   prefixs   suffixs   fs   ns   rs   dots   commas   s(	   s   ns   ss   placess
   decimalSeps   thousandSeps   prefixs   suffixs   fs   r(    (    sB   /home/packages/reportlab/reportlab_2_0/reportlab/lib/formatters.pys   tU   s    f1000.9s   1,000.9i   s   thousandSeps   ,f1000.95s   1,001.0s   1,001i˙˙˙˙i    s   1000.9s   1001.0s   1001f1000.1s   1000.1f1000.55s   1000.6f1000.449s   1000.4f1000.45s   1000(
   s   __version__s   __doc__s   strings   syss   oss	   Formatters   DecimalFormatters   __name__s   Nones   t(   s   __version__s   strings   syss   ts   DecimalFormatters	   Formatters   oss   __doc__(    (    sB   /home/packages/reportlab/reportlab_2_0/reportlab/lib/formatters.pys   ?   s$   ;