Your IP : 216.73.216.213


Current Path : /opt/alt/python35/lib64/python3.5/site-packages/PIL/__pycache__/
Upload File :
Current File : //opt/alt/python35/lib64/python3.5/site-packages/PIL/__pycache__/EpsImagePlugin.cpython-35.pyc



�ʴW1�@s�ddlZddlZddlZddlmZmZmZdZejZ	ej
Zejd�Z
ejd�ZdZejjd�r�ddlZeed�r�ejZnddlZejjZx-dD]Zee�dk	r�eZPq�WdZdd
�Zddd�ZGdd�de�Zdd�ZGdd�dej�Zddd�Z ej!ej"ee�ej#ej"e �ej$ej"d�ej$ej"d�ej%ej"d�dS)�N)�Image�	ImageFile�_binaryz0.5z^%%([^:]*):[ \t]*(.*)[ \t]*$z^%[%!\w]([^:]*)[ \t]*$�win�which�gswin32c�gswin64c�gsFcCsttr
dStjjd�spddl}y3|jddgd|j�}|jj�dSWnt	k
roYnXdS)NTrrr	z	--version�stdoutF)
�gs_windows_binary�sys�platform�
startswith�
subprocess�Popen�PIPEr
�read�OSError)rr	�r�E/opt/alt/python35/lib64/python3.5/site-packages/PIL/EpsImagePlugin.py�has_ghostscript8s

r�cCs�|d\}}}}|\}}t|�p1d}|d||d|f}td|d|d|d�td|d|d|d�f}	ddl}
ddl}ddl}|j�\}
}|
j|
�d}t|d�r|
jj	|j
�r|j
}n�|j�\}}|
j|�|}t|d���}|jdd�|j
�}|jd�|}xL|dkr�|jt|d��}|s�P|t|�8}|j|�qzWWdQRXddd
|d|	dddd|dd|d|dfd|g}tdk	r?ts5td��t|d<zf|j|d|jd|j�}|jj�|j�}|r�td|��tjj|�}Wdy$|
j|�|r�|
j|�Wntk
r�YnXX|S)z!Render an image using GhostscriptrrgR@��N�name�wb�dir	z-qz-g%dx%dz-r%fx%fz	-dNOPAUSEz-dSAFERz-sDEVICE=ppmrawz-sOutputFile=%sz-cz%d %d translatez-fz%Unable to locate Ghostscript on paths�stdinr
zgs failed (status %d)i�)�int�float�osr�tempfile�mkstemp�close�hasattr�path�existsr�open�seek�tellr�min�len�writerZWindowsErrorrrr�wait�IOErrorr�coreZopen_ppm�unlinkr)�tile�size�fp�scale�decoder�offset�data�lengthZbbox�resr rr!Zout_fd�outfileZinfile_temp�infileZin_fd�f�fsizeZ
lengthfile�s�commandr	�status�imrrr�GhostscriptGsr!'
$





rBc@s=eZdZdZdd�Zddd�Zdd�Zd	S)
�PSFilezP
    Wrapper for bytesio object that treats either CR or LF as end of line.
    cCs||_d|_dS)N)r3�char)�selfr3rrr�__init__�s	zPSFile.__init__rcCs d|_|jj||�dS)N)rDr3r()rEr6�whencerrrr(�s	zPSFile.seekcCs�|jpd}d|_|jjd�}x,|dkrX||}|jjd�}q-W|jjd�|_|jdkr�d|_|jd�S)N�rs
zlatin-1)rDr3r�decode)rEr>�crrr�readline�s	
	zPSFile.readlineN)�__name__�
__module__�__qualname__�__doc__rFr(rKrrrrrC�srCcCs8|dd�dkp7t|�dko7t|�dkS)N�s%!PSl�P�
)r+�i32)�prefixrrr�_accept�srSc@sseZdZdZdZdZdddddd	d
diZdd
�Zdd�Zddd�Z	dd�Z
dS)�EpsImageFilez.EPS File Parser for the Python Imaging LibraryZEPSzEncapsulated Postscriptr�LrZLABr�RGBrP�CMYKc
Cs�|j|j�\}}yCttkr?t|jjd�}nt|jjddd�}Wnt|j�}YnX|j|�d}d|_d|_	|j
�jd�}x�|r�t|�dkr�t
d��ytj|�}Wn4tjk
r}zt
d��WYdd}~XnX|r�|jdd	�\}}||j|<|d
krhyidd�|j�D�}|d	|d
|d|df|_	dd|j	|||ffg|_WqhYqhXn�tj|�}|rI|jd�}|dkr�P|dd�dkr9|dd�|j|dd�<qhd|j|<n|d
dkr\ntd��|j
�jd�}|dd�dkr�Pq�Wx�|dd�dkr�t|�dkr�t
d��|dd�dkry|dd�jdd�dd�\}	}
}}t|�dkr*Py|jt|�|_Wntk
rYPYnXt|	�t|
�f|_	dS|j
�jd�}|s�Pq�W|s�td��dS)NZUr�encodingzlatin-1rVrz
�znot an EPS filerZBoundingBoxcSs"g|]}tt|���qSr)rr)�.0�irrr�
<listcomp>�s	z&EpsImageFile._open.<locals>.<listcomp>rr�epsZEndComments�zPS-Adobe�	��%zbad EPS header�z%ImageData:�rPz!cannot determine EPS bounding box)rr)rr)�_find_offsetr3�bytes�strr'rrCr(�moder2rK�stripr+�SyntaxError�split�match�re�error�group�infor1�fieldr.r�mode_map�
ValueError)
rEr8r6r3Zboxr>�m�v�k�x�yZbi�morrr�_open�s|
			
'$2
zEpsImageFile._opencCs�|jd�}|dd�dkrJ|jdd�|j�}d}nWt|dd��dkr�t|dd��}t|dd��}ntd	��||fS)
N�rPs%!PSrrl�P�
r^�znot an EPS file)rr(r)rQri)rEr3r>r8r6rrrrd7s	zEpsImageFile._find_offsetcCsY|js
dSt|j|j|j|�|_|jj|_|jj|_g|_dS)N)r1rBr2r3rArg)rEr4rrr�loadMs	!zEpsImageFile.loadcOsdS)Nr)rE�args�kwargsrrr�	load_seekVszEpsImageFile.load_seekN)rLrMrNrO�formatZformat_descriptionrqryrdr|rrrrrrT�si	rTcCsi|j�|jdkr"d'}n<|jdkr:d(}n$|jdkrRd)}ntd��Gdd
�d
t�}|}|tjkr�||�}tjddkr�tj|dd�}|r=|j	d�|j	d�|j	d|j
�|j	d�|j	d�|j	d�|j	d|j
�|j	d|�|j	d�|j	d�|j	d|j
d|d�|j	d|j
�|j	d|j
�|j	d|j
d|j
d|j
df�|j	d �|j	|dd!�t|d"�r	|j�t
j||d#d*|j
dd$fg�|j	d%�|j	d&�t|d"�re|j�d$S)+z*EPS Writer for the Python Imaging Library.rUr^r�imagerVr�false 3 colorimagerWrP�false 4 colorimagezimage mode is not supportedc@s4eZdZdd�Zdd�Zdd�ZdS)z_save.<locals>.NoCloseStreamcSs
||_dS)N)r3)rEr3rrrrFrsz%_save.<locals>.NoCloseStream.__init__cSst|j|�S)N)�getattrr3)rErrrr�__getattr__usz(_save.<locals>.NoCloseStream.__getattr__cSsdS)Nr)rErrrr#xsz"_save.<locals>.NoCloseStream.closeN)rLrMrNrFr�r#rrrr�
NoCloseStreamqsr�rrrXzlatin-1z%!PS-Adobe-3.0 EPSF-3.0
z%%Creator: PIL 0.1 EpsEncode
z%%%%BoundingBox: 0 0 %d %d
z%%Pages: 1
z%%EndComments
z%%Page: 1 1
z%%ImageData: %d %d z%d %d 0 1 1 "%s"
zgsave
z10 dict begin
z/buf %d string def
z%d %d scale
z%d %d 8
z[%d 0 0 -%d 0 %d]
z+{ currentfile buf readhexstring pop } bind
�
�flushr]Nz
%%%%EndBinary
z
grestore end
)r^rr�)r^rr�)r^rPr�)rr)r|rgrr�objectrr
�version_info�io�
TextIOWrapperr,r2r$r�r�_save)rAr3�filenamer]�operatorr�Zbase_fprrrr�_sL
			







 /

)

r�z.psz.epszapplication/postscript)rrr	)&rlr�rZPILrrr�__version__Zi32lerQZo32leZo32�compilerjrprr
r�shutilr$r�distutils.spawn�	distutils�spawn�find_executable�binaryrrBr�rCrSrTr�Z
register_openr�Z
register_saveZregister_extensionZ
register_mimerrrr�<module>s>		
Y	�F