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ej ej e¡¡Zej ed¡Zdd	„ ZdS )
é    )Úcanvas)Ú
pdfmetrics)ÚTTFont)Ú	PdfReaderÚ	PdfWriter)ÚdatetimeÚ	timedeltaNz../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 |¡}tj td¡}t td	|ƒ¡ | d
 }| d }	| d }
| d }| d }| d }t ¡ ‰ ˆ jd›dtˆ jƒdd … › }g d¢}‡ fdd„tddƒD ƒ}‡ fdd„tddƒD ƒ}t dd¡}|| }|| }t||dƒ}t ||¡d }t|||ƒ}|jd›d||j › d|j› d|jd›d||j › d|j› }|jd›d||j › d|j› }t dd¡}d|› }|› }d tjdd d!¡}| d	d"¡ | |d#ƒ¡ d$}d%}d&} |  d'd(|d) | d) d tjddd!¡ ¡ |  ||| d  |¡ |  ||| d*  |	¡ |
r8d|
 d nd}!|rC|!d+| 7 }!|  ||| d  |!¡ |  ||| d,  |d | ¡ d-}"d.}#d }$|  |#|"|$d  |¡ |  |#d/|¡ |  |#d0|¡ |  d1d2|¡ | d	d3¡ | |d#ƒ¡ | d	d3¡ | d	d3¡ | |d#ƒ¡ | !¡  t"|ƒ}%t"|ƒ}&t#ƒ }'|%j$d }(|( %|&j$d ¡ |' &|(¡ t'|d4ƒ})|' (|)¡ W d   ƒ n	1 sÚw   Y  tj )|¡rít *|¡ d S d S )5Nr   )ÚHexColorz../static/tmpT)Úexist_okÚtemp_overlay_z.pdfz	times.ttfÚTimesÚnamaÚalamat1ÚkelÚkecÚkodposÚkota_kabÚ02dú/éþÿÿÿ)Ú ÚJanuariÚFebruariÚMaretÚAprilÚMeiÚJuniÚJuliÚAgustusÚ	SeptemberÚOktoberÚNovemberÚDesemberc                    s"   g | ]}ˆ j | d  d d  ‘qS )é   é   )Úmonth©Ú.0Úi©Únow© ú:/var/www/html/billing/billing_app_python/utils/pdf_ocbc.pyÚ
<listcomp>/   s   " z%generate_ocbc_pdf.<locals>.<listcomp>r#   é   c                    s.   g | ]}ˆ j | d  dkrˆ jnˆ jd  ‘qS )r#   r   )r%   Úyearr&   r)   r+   r,   r-   0   s   . é   ú z - é   z1/r   Ú
0123456789r$   )Úké   z#000000é0   iÜ  é
   éÕ   iú  ú-é   z, é   iû  iˆ  g     †@g     l…@g     ¨y@i  g…ëQ¸ž!@Úwb)+Úreportlab.lib.colorsr	   ÚosÚpathÚjoinÚdirnameÚabspathÚ__file__ÚmakedirsÚuuidÚuuid4Úhexr   ÚCanvasÚFONT_DIRr   ÚregisterFontr   r   r*   r%   Ústrr/   ÚrangeÚrandomÚrandintÚcalendarÚ
monthrangeÚdayÚchoicesÚsetFontÚsetFillColorÚ
drawStringÚsaver   r   ÚpagesÚ
merge_pageÚadd_pageÚopenÚwriteÚexistsÚremove)*ÚdataÚtemplate_pathÚoutput_pathr	   ÚTEMP_DIRÚpacket_pathÚcÚ
FONT_Timesr   r   r   r   r   r   Zbulan_tahunÚ
bulan_indoÚ
bulan_listÚ
tahun_listÚidxÚbulan_targetÚtahun_targetÚawalÚ
akhir_hariÚakhirÚperiode_strZtanggal_cetakÚhalaman_totalÚhalaman_strÚhalaman_last_strÚnorekÚ
batas_kiriÚ	batas_adrÚjarakÚkel_kecÚbatas_atas2Úbatas_kiri2Ú
jarak_kiriÚ
backgroundÚoverlayÚwriterÚpageÚfr+   r)   r,   Úgenerate_ocbc_pdf   sˆ   
 > 
.

ÿÿr   )Úreportlab.pdfgenr   Úreportlab.pdfbaser   Úreportlab.pdfbase.ttfontsr   ÚPyPDF2r   r   r   r   rM   r>   rE   rO   r?   rA   rB   rC   ÚBASE_DIRr@   rI   r   r+   r+   r+   r,   Ú<module>   s    