ó
imÿSc           @   sˆ   d  Z  d Z d Z d Z d d l Z d d l Z d d l Z d d l m Z d d l	 m
 Z
 m Z m Z d	 „  Z d
 d d „  ƒ  YZ d S(   s   PDF Template Helper for FPDF.pys%   Mariano Reingart <reingart@gmail.com>s#   Copyright (C) 2010 Mariano Reingarts   LGPL 3.0iÿÿÿÿNi   (   t   FPDF(   t   PY3Kt
   basestringt   unicodec         C   s   |  d |  d d |  d f S(   Ni   i   (    (   t   col(    (    s3   /var/www/ficnx/bin/fpdf/fpdf-1.7.2/fpdf/template.pyt   rgb   s    t   Templatec           B   sX  e  Z d d d  d d d d d d d „	 Z d „  Z d d d „ Z d „  Z d	 „  Z e Z d
 „  Z	 d „  Z
 d „  Z d d „ Z d d d d d d d e e e d d d d d „ Z d d d d d d d „ Z d d d d d d d d „ Z d d d d d d „ Z d d d d d d d d d „ Z d d d d d d d e e e d d d d „ Z RS(   t   A4t   portraitt    c
         C   sË   | r |  j  | ƒ n  i |  j d 6|  j d 6|  j d 6|  j d 6|  j d 6|  j d 6|  _ i  |  _ t	 d | d | d	 d
 ƒ }
 |  _
 |
 j | ƒ |
 j | ƒ |
 j | ƒ |
 j | ƒ |
 j |	 ƒ d  S(   Nt   Tt   Lt   It   Bt   BCt   Wt   formatt   orientationt   unitt   mm(   t   load_elementst   textt   linet   imaget   rectt   barcodet   writet   handlerst   textsR    t   pdft	   set_titlet
   set_authort   set_creatort   set_subjectt   set_keywords(   t   selft   infilet   elementsR   R   t   titlet   authort   subjectt   creatort   keywordsR   (    (    s3   /var/www/ficnx/bin/fpdf/fpdf-1.7.2/fpdf/template.pyt   __init__   s    !$	"c         C   s?   d |  _  | |  _ g  |  j D] } | d j ƒ  ^ q |  _ d S(   s*   Initialize the internal element structuresi    t   nameN(   t   pg_noR%   t   lowert   keys(   R#   R%   t   v(    (    s3   /var/www/ficnx/bin/fpdf/fpdf-1.7.2/fpdf/template.pyR      s    		t   ,t   .c   
      C   s(  d } g  |  _  d |  _ t s0 t | d ƒ } n t | ƒ } x¼ t j | d | ƒD]¥ } i  } x† t | ƒ D]x \ } }	 |	 j d ƒ r¨ | d k r¨ |	 j | d ƒ }	 n |	 }	 |	 d k rÃ d }	 n t
 |	 j ƒ  ƒ }	 |	 | | | <qk W|  j  j | ƒ qR Wg  |  j  D] }	 |	 d j ƒ  ^ q|  _ d S(   s7   Parse template format csv file and create elements dictR,   t   typet   x1t   y1t   x2t   y2t   fontt   sizet   boldt   italict	   underlinet
   foregroundt
   backgroundt   alignR   t   priorityt	   multilinei    t   rbt	   delimitert   'R2   R	   N(   s   names   types   x1s   y1s   x2s   y2s   fonts   sizes   bolds   italics	   underlines
   foregroundR>   s   aligns   textR@   s	   multiline(   R%   R-   R   t   opent   csvt   readert	   enumeratet
   startswitht   replacet   Nonet   evalt   stript   appendR.   R/   (
   R#   R$   RC   t   decimal_sepR/   t   ft   rowt   kargst   iR0   (    (    s3   /var/www/ficnx/bin/fpdf/fpdf-1.7.2/fpdf/template.pyt	   parse_csv%   s(      			c         C   s#   |  j  d 7_  i  |  j |  j  <d  S(   Ni   (   R-   R   (   R#   (    (    s3   /var/www/ficnx/bin/fpdf/fpdf-1.7.2/fpdf/template.pyt   add_page?   s    c         C   s‚   | j  ƒ  |  j k r~ t r@ t | t ƒ r@ | j d d ƒ } n! | d  k rU d } n t | ƒ } | |  j |  j	 | j  ƒ  <n  d  S(   Nt   latin1t   ignoreR	   (
   R.   R/   R   t
   isinstanceR   t   encodeRK   t   strR   R-   (   R#   R,   t   value(    (    s3   /var/www/ficnx/bin/fpdf/fpdf-1.7.2/fpdf/template.pyt   __setitem__C   s    	c         C   s   | j  ƒ  |  j k S(   N(   R.   R/   (   R#   R,   (    (    s3   /var/www/ficnx/bin/fpdf/fpdf-1.7.2/fpdf/template.pyt   has_keyP   s    c         C   s‡   | |  j  k rƒ | j ƒ  } | |  j k r< |  j |  j | Sg  |  j D]" } | d j ƒ  | k rF | ^ qF } | rƒ | d d Sn  d  S(   NR,   i    R   (   R/   R.   R   R-   R%   (   R#   R,   t   keyt   elementR%   (    (    s3   /var/www/ficnx/bin/fpdf/fpdf-1.7.2/fpdf/template.pyt   __getitem__S   s    "c         C   s_  |  j  } g  |  j D]( } | d j ƒ  | j ƒ  k r | ^ q d } d } | d rb | d 7} n  | d ry | d 7} n  | d r | d	 7} n  | j | d
 | | d ƒ i d d 6d d 6d d 6d d 6d d 6d d 6j | d ƒ } t | t ƒ rt r| j d d ƒ } n t	 | ƒ } | j
 d | d | d d | d | d d | d | d t ƒ S(   s/   Divide (
) a string using a given element widthR,   i    R	   R:   R   R;   R   R<   t   UR8   R9   R   t   Rt   Dt   CR?   RV   RW   t   wR6   R4   t   hR7   R5   t   txtt
   split_only(   R   R%   R.   t   set_fontt   getRX   R   R   RY   RZ   t
   multi_cellt   True(   R#   R   t   element_nameR   R_   t   styleR?   (    (    s3   /var/www/ficnx/bin/fpdf/fpdf-1.7.2/fpdf/template.pyt   split_multicell`   s$    	,
 
 
 =t   Fc         C   s6  |  j  } xt d |  j d ƒ D]ø } | j ƒ  | j d d d ƒ | j t d d ƒx¿ t |  j d d „  ƒD]¥ } | j	 ƒ  } |  j
 | j | d	 j ƒ  | d
 ƒ | d
 <d | k rÚ | j | d | d | d ƒ n  |  j | d j ƒ  | |  d | k ro | j d ƒ qo qo Wq  W| r2| j | | ƒ Sd  S(   Ni   t   ArialR   i   t   margini    R^   c         S   s   |  d S(   NR@   (    (   t   x(    (    s3   /var/www/ficnx/bin/fpdf/fpdf-1.7.2/fpdf/template.pyt   <lambda>z   s    R,   R   t   rotateR4   R5   R3   (   R   t   rangeR-   RU   Ri   t   set_auto_page_breakt   Falset   sortedR%   t   copyR   Rj   R.   Ru   R   t   uppert   output(   R#   t   outfilet   destR   t   pgR_   (    (    s3   /var/www/ficnx/bin/fpdf/fpdf-1.7.2/fpdf/template.pyt   renders   s    	
+"i    t   ariali
   iÿÿ  c         O   si  | re| j  t | ƒ k r1 | j t | ƒ Œ  n  | j t | ƒ k r\ | j t | ƒ Œ  n  | j ƒ  j ƒ  } | d k rƒ d } n  d } xN d D]F } | j d | ƒ r | j d | ƒ r | d	 d
 !} | | 7} q q W|	 rí | d 7} n  |
 r | d 7} n  | r| d 7} n  i d d 6d d 6d d 6d d 6d d 6d d 6j	 | ƒ } | j
 | | | ƒ | j | | ƒ | d  k r´| j d | | d | | d | d d d d d | ƒ qe| rí| j d | | d | | d | d d d | ƒ qe| j d | | d | | d | d | d t ƒ d } d | GH| j d | | d | | d | d d d d d | ƒ n  d  S(   Ns   arial blackR   R	   R   R   Ra   s   <%s>s   </%s>i   iüÿÿÿR   Rb   Rc   Rd   Re   Rf   Rg   t   borderi    t   lnR?   Rh   s   trimming: *%s*(   R   R   Ra   (   t
   text_colorR   t   set_text_colort
   fill_colort   set_fill_colorRM   R.   RI   t   endswithRj   Ri   t   set_xyRK   t   cellRk   Rl   (   R#   R   R4   R5   R6   R7   R   R8   R9   R:   R;   R<   R?   R=   t	   backgroudRA   t   argst   kwargsRn   t   tag(    (    s3   /var/www/ficnx/bin/fpdf/fpdf-1.7.2/fpdf/template.pyR   ‡   s<    	&   993	c   
      O   sR   | j  t | ƒ k r+ | j t | ƒ Œ  n  | j | ƒ | j | | | | ƒ d  S(   N(   t
   draw_colorR   t   set_draw_colort   set_line_widthR   (
   R#   R   R4   R5   R6   R7   R9   R=   RŒ   R   (    (    s3   /var/www/ficnx/bin/fpdf/fpdf-1.7.2/fpdf/template.pyR   °   s    c	         O   s…   | j  t | ƒ k r+ | j t | ƒ Œ  n  | j t | ƒ k rV | j t | ƒ Œ  n  | j | ƒ | j | | | | | | ƒ d  S(   N(   R   R   R   R†   R‡   R‘   R   (   R#   R   R4   R5   R6   R7   R9   R=   R‹   RŒ   R   (    (    s3   /var/www/ficnx/bin/fpdf/fpdf-1.7.2/fpdf/template.pyR   ¸   s    c   	      O   s@   | r< | j  | | | d | | d | | d d d d ƒn  d  S(   NRe   Rf   R3   R	   t   link(   R   (	   R#   R   R4   R5   R6   R7   R   RŒ   R   (    (    s3   /var/www/ficnx/bin/fpdf/fpdf-1.7.2/fpdf/template.pyR   À   s    i   c
      	   O   ss   | j  t |	 ƒ k r+ | j t |	 ƒ Œ  n  | j ƒ  j ƒ  } | d k ro | j | | | d | d | | ƒn  d  S(   Ns   interleaved 2of5 ntRe   Rf   (   R   R   R   R.   RM   t   interleaved2of5(   R#   R   R4   R5   R6   R7   R   R8   R9   R=   RŒ   R   (    (    s3   /var/www/ficnx/bin/fpdf/fpdf-1.7.2/fpdf/template.pyR   Ä   s
    s   http://example.comc         O   sU  | j  t | ƒ k r+ | j t | ƒ Œ  n  | j ƒ  j ƒ  } | d k rR d } n  d } xN d D]F } | j d | ƒ r_ | j d | ƒ r_ | d	 d
 !} | | 7} q_ q_ W|	 r¼ | d 7} n  |
 rÏ | d 7} n  | râ | d 7} n  i d d 6d d 6d d 6d d 6d d 6d d 6j | ƒ } | j | | | ƒ | j	 | | ƒ | j
 d | | ƒ d  S(   Ns   arial blackR   R	   R   R   Ra   s   <%s>s   </%s>i   iüÿÿÿR   Rb   Rc   Rd   i   (   R   R   Ra   (   R„   R   R…   RM   R.   RI   Rˆ   Rj   Ri   R‰   R   (   R#   R   R4   R5   R6   R7   R   R8   R9   R:   R;   R<   R?   R’   R=   RŒ   R   Rn   RŽ   (    (    s3   /var/www/ficnx/bin/fpdf/fpdf-1.7.2/fpdf/template.pyR   Í   s(    	&   9N(   t   __name__t
   __module__RK   R+   R   RT   RU   R\   t   setR]   R`   Ro   R€   Rx   R   R   R   R   R   R   (    (    (    s3   /var/www/ficnx/bin/fpdf/fpdf-1.7.2/fpdf/template.pyR      s,   						'(    (   t   __doc__t
   __author__t   __copyright__t   __license__t   syst   osRF   t   fpdfR    t   py3kR   R   R   R   R   (    (    (    s3   /var/www/ficnx/bin/fpdf/fpdf-1.7.2/fpdf/template.pyt   <module>   s   $	