o
    Æe	  ã                   @   sè   d Z dZzddlmZ W n ey&   ddlmZ ddlZe e¡Z[[Y nw ddlZdd„ Z		 i i fdd	„Z
d
d„ ZedkrrddlmZ i Zddd„ZddlmZ ddiZdZdZG dd„ dƒZeedƒƒ d dd„Zedƒ dS dS )!z3.3.0z.Apparently not used anywhere, purpose unknown!é    )Ú	tokenprog)ÚTokenNc                 C   s*   t  | |¡}|d u rt| |ƒ‚|| ¡ fS )N)r   ÚmatchÚ
ValueErrorÚend)ÚtextÚposr   © r	   úGD:\Projects\ConvertPro\env\Lib\site-packages\reportlab/lib/extformat.pyÚ_matchorfail   s   r   c                 C   sF  | }i }g }d}d}	 |  d|¡}|dk rnw||d  }	|	dkry| |||… ¡ |d d}}
|
rYt||ƒ\}}|jd \}}|||… }|dkrO|
d }
n|dkrW|
d }
|
s2d| }|d7 }t||d |d … ||ƒ||< | d	| ¡ n|d |	dk }| |||… ¡ |}q|t|ƒk rœ| ||d … ¡ d
 |¡| S )Nr   é   ú%ú(é   é   ú)z__superformat_%dz%%(%s)Ú )ÚfindÚappendr   ÚregsÚevalÚlenÚjoin)Ú_formatÚLÚGÚformatÚSÚchunksr   ÚnZpcÚnextcharÚlevelr   ZtstartÚtendÚtokenZvnameÚncr	   r	   r
   Ú
dictformat   s:   
û ër%   c                 C   s   t  d¡}t| |j|jƒS )z<Evaluate and substitute the appropriate parts of the string.r   )ÚsysÚ	_getframer%   Úf_localsÚ	f_globals)r   Úframer	   r	   r
   Úmagicformat:   s   
r+   Ú__main__)ÚDecimalFormatterr   Ú.ú,c                 C   sJ   zt ||f }W || ƒS  ty$   t|||d }t ||f< Y || ƒS w )N)ZplacesZ
decimalSepZthousandSep)Ú_DFÚKeyErrorr-   )r   ZdpZdsÚtsZ_dfr	   r	   r
   ÚdfB   s   þþr3   )r+   Úabc)ÚabÚcg¸…ë€OAgÍÌÌÌÌÌS@c                   @   s   e Zd ZdZdS )Údingor   N)Ú__name__Ú
__module__Ú__qualname__Úar	   r	   r	   r
   r7   N   s    r7   zÐ
$%%(df(x,dp=3))s --> $%(df(x,dp=3))s
$%%(df(x,dp=2,ds=',',ts='.'))s --> $%(df(x,dp=2,ds=',',ts='.'))s
%%(percent).2f%%%% --> %(percent).2f%%
%%(dingo.a)s --> %(dingo.a)s
%%(Z['abc'][0])s --> %(Z['abc'][0])s
r   c                 C   s   ddd„}|dƒ d S )Nr   c                 S   s   t tdƒƒ d S )Nzbb=%(bb)s Z=%(Z)r)Úprintr+   )Zbbr	   r	   r
   Úfunc1X   s   zfunc0.<locals>.func1ÚBB)r   r	   )Zaar=   r	   r	   r
   Úfunc0W   s   
r?   ZAA)r   r.   r/   )r   )Ú__version__Ú__doc__Útokenizer   ÚImportErrorr   ÚreÚcompiler&   r   r%   r+   r8   Zreportlab.lib.formattersr-   r0   r3   Zreportlab.lib.extformatÚZÚxÚpercentr7   r<   r?   r	   r	   r	   r
   Ú<module>   s8   
ü"

ä