U
    =g                     @  s\   d dl mZ d dlZd dlmZ d dlmZmZ d dlm	Z	m
Z
 eeZG dd dZdS )    )annotationsN)BytesIO)	PdfReader	PdfWriter)getFilepisaTempFilec                   @  sT   e Zd Zdd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 )pisaPDFNone)returnc                 C  s   || _ g | _d S N)capacityfiles)selfr    r   1/tmp/pip-unpacked-wheel-d1lgvatt/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   addDocument2   s    zpisaPDF.addDocumentc                 C  sr   t  }| jD ]0}t|}tt|jD ]}||j|  q&q|d k	rT|| |S t| j	d}|| |
 S r   )r   r   r   rangelenZpagesZadd_pagewriter   r   getvalue)r   fileoutputZpdffileZpdfZ
pageNumberoutr   r   r   join6   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   )
__future__r   loggingior   Zpypdfr   r   Zxhtml2pdf.filesr   r   	getLoggerr,   logr   r   r   r   r   <module>   s   
