o
    ùoÆh  ã                   @   sž   d dl mZ d dlmZ d dlmZ d dlmZmZ d dl	m	Z	m
Z
 d dlZd dlZd dlZd dlZd dlmZ ej ej e¡¡Zej ed¡Zd	d
„ ZdS )é    )Úcanvas)Ú
pdfmetrics)ÚTTFont)Ú	PdfReaderÚ	PdfWriter)ÚdatetimeÚ	timedeltaN)ÚA4z../assets/fontsc           (   
      s²  ddl m} tj tj tj t¡¡d¡}tj|dd tj |dt	 
¡ j› d¡}tj|dd	}z*t|ƒ}|jd }t|jjƒ}	t|jjƒ}
td
|	› d|
› ƒ tj||	|
fd	}W n  ty{ } ztd|› ƒ tj|td	}W Y d }~nd }~ww tj td¡}tj td¡}t td|ƒ¡ t td|ƒ¡ | d }| d }| d }| d }| d }| d }t ¡ ‰ ‡ fdd„tdƒD ƒ}‡ fdd„tdƒD ƒ}‡ fdd„tddƒD ƒ}‡ fdd„tddƒD ƒ}td|ƒ t dd ¡}|| }|| }t  g d!¢¡}|d kr
t  g d"¢¡}|d#›d$t!j"| › d$|› }t  g d%¢¡}|d#›d$t!j"|d& d  › d$|d&k r4|n|d › }d'}d(}d)}| #dd*¡ | $|d+ƒ¡ | %|d,|¡ | #dd*¡ | $|d-ƒ¡ | %d.d/|¡ | %d0d/|¡ | #dd1¡ | $|d2ƒ¡ | %|||d  |d$ | ¡ | %|||d   |d3 | d$ | ¡ | %|||d  d4¡ | #dd*¡ | $|d5ƒ¡ t dd¡} t&| ƒd6 tj'd7d8d9¡ }!| %d:d;|!¡ d<t&t d)d=¡ƒ d6 tj'd7t d>d?¡d9¡ }"| %d@dA|"¡ | #dd1¡ | %dBdC|d$ | d$ | d3 | d$ | ¡ | (¡  t|ƒ}#t|ƒ}$t)ƒ }%|#jd }&|& *|$jd ¡ |% +|&¡ t,|dDƒ}'|% -|'¡ W d   ƒ n	1 sDw   Y  tj .|¡rWt /|¡ d S d S )ENr   )ÚHexColorz../static/tmpT)Úexist_okÚtemp_overlay_z.pdf)iJ  iS  )ÚpagesizezTemplate size: z x zError reading template size: zDejaVuSans-Bold.ttfzDejaVuSans.ttfZDejaBoldZDejaÚnamaÚalamat1Úalamat2ÚkodposÚkota_kabÚprovinsic                    ó"   g | ]}ˆ j | d  d d  ‘qS ©é   é   ©Úmonth©Ú.0Úi©Únow© ú>/var/www/html/billing/billing_app_python/utils/pdf_republic.pyÚ
<listcomp>7   ó   " z)generate_republic_pdf.<locals>.<listcomp>é   c                    ó.   g | ]}ˆ j | d  dkrˆ jnˆ jd  ‘qS ©r   r   ©r   Úyearr   r   r   r    r!   8   ó   . c                    r   r   r   r   r   r   r    r!   :   r"   r   é   c                    r$   r%   r&   r   r   r   r    r!   ;   r(   zBulan List:é   )é   é   é   é   é   )r+   r,   r-   Ú02dú )r#   r)   é   r   é&   iÂ  é
   g…ëQ¸…%@z#7d034eiÈ  z#9b196eéM   iR  éÿ   gq=
×£p"@z#8f7188z, Z	Indonesiaz#707172Ú Ú
0123456789é   )Úkiá  iý  ÚCé   r2   é   iÏ  i¤  é(   g     T@Úwb)0Úreportlab.lib.colorsr
   ÚosÚpathÚjoinÚdirnameÚabspathÚ__file__ÚmakedirsÚuuidÚuuid4Úhexr   ÚCanvasr   ÚpagesÚfloatÚmediaboxÚwidthÚheightÚprintÚ	Exceptionr	   ÚFONT_DIRr   ÚregisterFontr   r   r   ÚrangeÚrandomÚrandintÚchoiceÚcalendarÚ
month_abbrÚsetFontÚsetFillColorÚ
drawStringÚstrÚchoicesÚsaver   Ú
merge_pageÚadd_pageÚopenÚwriteÚexistsÚremove)(ÚdataÚtemplate_pathÚoutput_pathr
   ÚTEMP_DIRÚpacket_pathÚcÚtemplate_readerÚtemplate_pageÚtemplate_widthÚtemplate_heightÚeZFONT_DEJA_BOLDZ	FONT_DEJAr   r   r   r   r   r   Ú
bulan_listÚ
tahun_listÚidxÚbulan_targetÚtahun_targetZtanggal_tagihanZtanggal_tagihan_strZtanggal_jatuh_tempoZtanggal_jatuh_tempo_strÚ
batas_kiriÚ	batas_adrÚjarakÚ	tigaDigitZ
no_tagihanZid_pelangganÚ
backgroundÚoverlayÚwriterÚpageÚfr   r   r    Úgenerate_republic_pdf   sž   
€ý

6&0.

ÿÿr€   )Úreportlab.pdfgenr   Úreportlab.pdfbaser   Úreportlab.pdfbase.ttfontsr   ÚPyPDF2r   r   r   r   rV   rA   rH   rY   Úreportlab.lib.pagesizesr	   rB   rD   rE   rF   ÚBASE_DIRrC   rS   r€   r   r   r   r    Ú<module>   s    