U
    ?e                     @   sL   d dl Z d dlmZ d dlmZ d dlmZmZ e dZ	G dd dZ
dS )    N)BytesIO)pypdf)getFilepisaTempFileZ	xhtml2pdfc                   @   sN   e Zd ZdddZdddZeZdd Zd	d
 Zdd ZdddZ	e	Z
e	ZdS )pisaPDFc                 C   s   || _ g | _d S N)capacityfiles)selfr	    r   1/tmp/pip-unpacked-wheel-35p66c5k/xhtml2pdf/pdf.py__init__   s    zpisaPDF.__init__Nc                 C   s*   t ||}| }|r&| jt| d S r   )r   getFileContentr
   appendr   )r   urlZbasepathobjdatar   r   r   
addFromURI   s    
zpisaPDF.addFromURIc                 C   s&   t |dr| j| n
| | d S Nread)hasattrr
   r   r   )r   fr   r   r   addFromFile&   s    
zpisaPDF.addFromFilec                 C   s*   t | | jd }|r&| j| d S N)r	   )r   encoder	   r   r
   r   )r   r   r   r   r   r   addFromString,   s    zpisaPDF.addFromStringc                 C   s   t |jdr| j|j d S r   )r   destr
   r   )r   docr   r   r   addDocument1   s    zpisaPDF.addDocumentc                 C   sv   t  }| jD ]2}t |}tt|jD ]}||j|  q*q|d k	rX|| |S t	| j
d}|| | S r   )r   Z	PdfWriterr
   Z	PdfReaderrangelenZpagesZadd_pagewriter   r	   getvalue)r   fileoutputZpdffileZpdfZ
pageNumberoutr   r   r   join5   s    



zpisaPDF.join)r   )N)N)__name__
__module____qualname__r   r   ZaddFromFileNamer   r   r   r'   r#   __str__r   r   r   r   r      s   


r   )loggingior   Zxhtml2pdf.utilr   Zxhtml2pdf.filesr   r   	getLoggerlogr   r   r   r   r   <module>   s
   
