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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j td¡}tj td¡}t td|ƒ¡ t td|ƒ¡ t td|ƒ¡ t td|ƒ¡ | d }| 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  !||¡d" d'›d(|d'›d(t"|ƒd)d … › }|d*krHt|d" d"d"ƒt#d"d+ }nt||d" d"ƒt#d"d+ }g d,¢}d-|| d d… › d.t"|ƒd)d … › } |j$› d.||j% d d… › d.t"|j&ƒd)d … › }!d/} d0t"|j&ƒd)d … › }!| d1 |! }"t d&d2¡}#|#› }$d3}%d4}&d5}'| 'dd6¡ | (|d7ƒ¡ | )|%d4|¡ | 'dd6¡ | )|%|&|'d"  |¡ | )|%|&|'d&  |¡ |râd8| d. nd8}(|rí|(d9| 7 }(| )|%|&|'d  |(d9 | d. | ¡ | )|%|&|'d#  d:| ¡ | 'dd;¡ | *d<d=|"¡ d>d8 tj+d?d*d@¡ })| 'ddA¡ | *dBd=|)¡ | 'dd5¡ | (|dCƒ¡ | *dDdE|$¡ | ,¡  t|ƒ}*t|ƒ}+t-ƒ },|*jd }-|- .|+jd ¡ |, /|-¡ t0|dFƒ}.|, 1|.¡ W d   ƒ n	1 s~w   Y  tj 2|¡r‘t 3|¡ d S d S )GNr   )ÚHexColorz../static/tmpT)Úexist_okÚtemp_overlay_z.pdf)iJ  iS  )ÚpagesizezTemplate size: z x zError reading template size: zOpenSans-Semibold.ttfzOpenSans-Bold.ttfzOpenSans-Regular.ttfzDejaVuSans.ttfZOpenBoldZOpenRegZOpenSemiBoldÚDejaÚnamaÚalamat1Úalamat2ÚkelÚkecÚkodposÚkota_kabÚprovinsic                    ó"   g | ]}ˆ j | d  d d  ‘qS ©é   é   ©Úmonth©Ú.0Úi©Únow© ú;/var/www/html/billing/billing_app_python/utils/pdf_super.pyÚ
<listcomp><   ó   " z&generate_super_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#   @   r*   zBulan List:é   Ú02dú/éþÿÿÿr   )Údays)Ú ÚJanuariÚFebruariÚMaretÚAprilÚMeiÚJuniÚJuliÚAgustusÚ	SeptemberÚOktoberÚNovemberÚDesemberz1 ú z1 Janz31 Des z - é   i6  ié  é   é   z#000000r1   z, zID g     €#@é‡   iv  ÚIDÚ
0123456789)Úkg      @i—  z#464646iF  é   Úwb)4Úreportlab.lib.colorsr	   ÚosÚpathÚjoinÚdirnameÚabspathÚ__file__ÚmakedirsÚuuidÚuuid4Úhexr   ÚCanvasr   ÚpagesÚfloatÚmediaboxÚwidthÚheightÚprintÚ	ExceptionÚA4ÚFONT_DIRr   ÚregisterFontr   r   r    ÚrangeÚrandomÚrandintÚcalendarÚ
monthrangeÚstrr   Údayr   r)   ÚsetFontÚsetFillColorÚdrawRightStringÚ
drawStringÚ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_OPEN_SEMI_BOLDÚFONT_OPEN_BOLDÚFONT_OPEN_REGÚ	FONT_DEJAr   r   r   r   r   r   r   r   Ú
bulan_listÚ
tahun_listÚidxÚbulan_targetÚtahun_targetÚtanggal_akhir_strÚakhirÚ
bulan_indoÚperiode_awal_strÚperiode_akhir_strÚperiodeÚhalaman_totalÚhalaman_strÚ
batas_kiriÚ	batas_adrÚjarakÚkel_kecÚno_cifÚ
backgroundÚoverlayÚwriterÚpageÚfr!   r   r"   Úgenerate_super_pdf   s²   
€ý
0
(2&

ÿÿr–   )Úreportlab.pdfgenr   Úreportlab.pdfbaser   Úreportlab.pdfbase.ttfontsr   ÚPyPDF2r   r   r   r   r_   rI   rP   ra   rJ   rL   rM   rN   ÚBASE_DIRrK   r\   r–   r!   r!   r!   r"   Ú<module>   s    