U
    '1e                     @   s   d Z dZzddlmZ W n6 ek
rN   ddlmZ ddlZeeZ[[Y nX ddlZdd Z	i i fdd	Z
d
d Zedkrd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 )!z3.3.0z.Apparently not used anywhere, purpose unknown!    )	tokenprog)TokenNc                 C   s*   t | |}|d krt| ||| fS )N)r   match
ValueErrorend)textposr    r	   ;/tmp/pip-unpacked-wheel-109iniqw/reportlab/lib/extformat.py_matchorfail   s     
r   c                 C   sF  | }i }g }d}d}| d|}|dk r,q||d  }	|	dkr||||  |d d }}
|
rt||\}}|jd \}}||| }|dkr|
d }
q`|dkr`|
d }
q`d| }|d7 }t||d |d  ||||< |d	|  q|d |	dk }||||  |}q|t|k r8|||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vnameZ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   sH   zt ||f }W n. tk
r>   t|||d }t ||f< Y nX || S )N)ZplacesZ
decimalSepZthousandSep)_DFKeyErrorr,   )r   ZdpZdstsZ_dfr	   r	   r
   dfB   s
     r2   )r*   abc)abcgOAgS@c                   @   s   e Zd ZdZdS )dingor   N)__name__
__module____qualname__ar	   r	   r	   r
   r6   N   s   r6   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*   r7   Zreportlab.lib.formattersr,   r/   r2   Zreportlab.lib.extformatZxpercentr6   r;   r>   r	   r	   r	   r
   <module>   s0   


"

