o
    oh(                     @   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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jtd	}tjtd
}	ttd| ttd| ttd|	 g 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||d}|dkrt|d ddtdd }nt||d dtdd }|jdd|
|j  d|jdd|
|j  d|j 	}d d!tjd"d#d$ }|dd% ||d& |dd' |d(d)| |dd |d(d*| |d+d,| |d-d.| |   t!|}t!|}t" }|j#d }|$|j#d  |%| t&|d/}|'| W d    n	1 sew   Y  tj(|rxt)| d S d S )0Nr   )HexColorz../static/tmpT)exist_oktemp_overlay_z.pdfzHelvetica.ttfztimes_bold.ttfz	times.ttfHelvez
Times-BoldzTimes-Roman) JanuariFebruariMaretAprilMeiJuniJuliAgustus	SeptemberOktoberNovemberDesembernamaalamat1c                    "   g | ]} j | d  d d  qS       month.0inow >/var/www/html/billing/billing_app_python/utils/pdf_bbsi_new.py
<listcomp>,      " z)generate_bbsi_new_pdf.<locals>.<listcomp>   c                    .   g | ]} j | d  dkr jn jd  qS r   r   r!   yearr"   r%   r'   r(   r)   -      . c                    r   r   r    r"   r%   r'   r(   r)   /   r*   r      c                    r,   r-   r.   r"   r%   r'   r(   r)   0   r0   zBulan List:   r   )days02d z - 7r   
0123456789	   )k   z#000000   &   i  i  i  i     iG  wb)*reportlab.lib.colorsr	   ospathjoindirnameabspath__file__makedirsuuiduuid4hexr   CanvasFONT_DIRr   registerFontr   r   r&   rangeprintrandomrandintr   dayr!   r/   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_HELVEFONT_TIMES_BOLDZFONT_TIMES_REG
bulan_indor   r   
bulan_list
tahun_listidxbulan_targettahun_targetawalakhirperiodenorek
backgroundoverlaywriterpagefr'   r%   r(   generate_bbsi_new_pdf   sd   

6

ru   )reportlab.pdfgenr   reportlab.pdfbaser   reportlab.pdfbase.ttfontsr   PyPDF2r   r   r   r   rO   r@   rG   rA   rC   rD   rE   BASE_DIRrB   rK   ru   r'   r'   r'   r(   <module>   s    