
    BPcq                         d Z ddlZddlZddlZddlmZmZmZ ddlm	Z
  G d dej                  Zedk    r e                                             dS dS )z
Simple wrapper around ps2pdf
    N)ProgramRunErrorcallwhich)inkex_gettextc                   6    e Zd ZdZdZdZdZd Zd Zde	fdZ
d	S )
PostscriptInputz3Load Postscript/EPS Files by calling ps2pdf programpspdfTc                 ~    |                     dt          j        d           |                     dg dd           d S )Nz--cropF)typedefaultz--autorotate)None
PageByPageAllr   )choicesr   )add_argumentinkexBoolean)selfparss     */usr/share/inkscape/extensions/ps_input.pyadd_argumentszPostscriptInput.add_arguments'   sT    (FFF$A$A$A6 	 	
 	
 	
 	
 	
    c                 F   | j         j        rdnd }t          j        dk    rddddddd	|d
|z   d| j         j        z   |g}ddg}d }|D ]}	 t          |           |}#  Y xY w|2dt          j        v rd}n!t          j	        t          d                    	 t          |g|R   d S # t          $ r }|                     |           Y d }~d S d }~ww xY w	 t          d|d| j         j        z   ||           d S # t          $ r }|                     |           Y d }~d S d }~ww xY w)Nz	-dEPSCropwin32z-qz-P-z-dSAFERz	-dNOPAUSEz-dBATCHz-sDEVICE#pdfwritez-dCompatibilityLevel#1.4z-sOutputFile#z-dAutoRotatePages#/gswin64cgswin32cPYTEST_CURRENT_TESTz#No GhostScript executable was foundps2pdfz-dAutoRotatePages=/)optionscropsysplatform
autorotater   osenvironr   AbortExtension_r   r   handle_gs_error)	r   
input_fileoutput_filer!   paramsgs_execsgs_exec
executableerrs	            r   r   zPostscriptInput.call-   s   "l/9{{T<7""#*+-%(??F #J/HG&  
*%%%(GGD(BJ66(GG  .q1V/W/WXXX*W&v&&&&&&" * * *$$S)))))))))*	*)DL,CC     # * * *$$S)))))))))*s<   	AAB& &
C0CC C6 6
D  DD r0   c                     t          j        t          d          dz              t          j        |j                            d                     t          j        |j                            d                     t          j                    )NzSGhostscript was unable to read the file. 
The following error message was returned:
utf8)r   errormsgr(   stderrdecodestdoutr'   )r   r0   s     r   r)   zPostscriptInput.handle_gs_error[   s    f  	
 	
 	
 	sz((00111sz((00111"$$$r   N)__name__
__module____qualname____doc__	input_ext
output_ext	multi_inxr   r   r   r)    r   r   r   r       sc        ==IJI
 
 
,* ,* ,*\	%? 	% 	% 	% 	% 	% 	%r   r   __main__)r;   r"   r%   r   inkex.commandr   r   r   inkex.localizationr   r(   CallExtensionr   r8   runr?   r   r   <module>rE      s   (  


 				  6 6 6 6 6 6 6 6 6 6 1 1 1 1 1 1D% D% D% D% D%e) D% D% D%N zO r   