o
    ùoÆhV  ã                   @   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           0   
      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 }| 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 … › }t||dƒ}|d%kr,t|d ddƒt#dd& }nt||d dƒt#dd& }| $d'¡ %¡ }| $d'¡ %¡ }|d( | }d) tj&d*d+d,¡} t||t  !||¡d ƒ}!|! $d-¡}d.|› | › }"ˆ  $d'¡ %¡ }#t d!d/¡}$|$› }%d) tj&d0d%d,¡}&d1}'d2}(d%})| 'dd%¡ | (|d3ƒ¡ | )d4d5|"¡ | )d4d6|#¡ | 'dd7¡ | (|d8ƒ¡ | *|'d9|¡ | 'dd:¡ | *|'d;d<|& ¡ | 'dd=¡ | *|'|(|)d  |¡ | *|'|(|)d!  |¡ |ròd>| d? nd)}*|rý|*d@| 7 }*| *|'|(|)d  |*¡ | *|'|(|)d  |dA | ¡ | *|'|(|)dB  dC¡ | 'dd:¡ | (|dDƒ¡ | *dEdF|¡ | 'dd%¡ | *dGdH|%¡ | +¡  t|ƒ}+t|ƒ},t,ƒ }-|+jd }.|. -|,jd ¡ |- .|.¡ t/|dIƒ}/|- 0|/¡ W d   ƒ n	1 szw   Y  tj 1|¡rt 2|¡ d S d S )JNr   )ÚHexColorz../static/tmpT)Úexist_okÚtemp_overlay_z.pdf)iJ  iS  )ÚpagesizezTemplate size: z x zError reading template size: zRoboto-Bold.ttfzRoboto-Regular.ttfZRoboBoldZRoboÚnamaÚalamat1Úalamat2ÚkelÚkecÚkota_kabÚprovinsic                    ó"   g | ]}ˆ j | d  d d  ‘qS ©é   é   ©Úmonth©Ú.0Úi©Únow© ú=/var/www/html/billing/billing_app_python/utils/pdf_seabank.pyÚ
<listcomp>8   ó   " z(generate_seabank_pdf.<locals>.<listcomp>é   c                    ó.   g | ]}ˆ j | d  dkrˆ jnˆ jd  ‘qS ©r   r   ©r   Úyearr   r   r   r    r!   9   ó   . 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   )Údaysz%d %b %Yz sampai Ú ÚABCDEFGHIJKLMNOPQRSTUVWXYZé   )Úkz%y%m%dzS/N S01-éc   Ú
0123456789é(   i·  z#a2a2a2i.  i  i  é   z#000000i×  é
   iÁ  zNO. REKENING SEABANK: é	   zKEL ú zKEC z, é   Ú	INDONESIAz#9B9B9BéÝ   i?  i!  é*   Úwb)3Ú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   ÚstrftimeÚupperÚchoicesÚsetFontÚsetFillColorÚdrawRightStringÚ
drawStringÚsaver   Ú
merge_pageÚadd_pageÚopenÚwriteÚexistsÚremove)0ÚdataÚtemplate_pathÚoutput_pathr	   ÚTEMP_DIRÚpacket_pathÚcÚtemplate_readerÚtemplate_pageÚtemplate_widthÚtemplate_heightÚeZFONT_ROBO_BOLDZ	FONT_ROBOr   r   r   r   r   r   r   Ú
bulan_listÚ
tahun_listÚidxÚbulan_targetÚtahun_targetÚtanggal_akhir_strÚawalÚakhirÚperiode_awal_strÚperiode_akhir_strÚperiodeZrandom_lettersZtanggal_akhirZ	rek_koranZtanggal_hari_iniÚhalaman_totalÚhalaman_strÚnorekÚ
batas_kiriÚ	batas_adrÚjarakÚkel_kecÚ
backgroundÚoverlayÚwriterÚpageÚfr   r   r    Úgenerate_seabank_pdf   s¸   
€ý
0



ÿÿr‹   )Úreportlab.pdfgenr   Úreportlab.pdfbaser   Úreportlab.pdfbase.ttfontsr   ÚPyPDF2r   r   r   r   rV   r@   rG   rX   rA   rC   rD   rE   ÚBASE_DIRrB   rS   r‹   r   r   r   r    Ú<module>   s    