U
    We                     @   sD   d dl Z d dlZd dlmZ d dlT d dlZG dd dejjZ	dS )    N)Path)*c                   @   s    e Zd ZdZejjdd ZdS )ConverterView/c                 C   s  t  p}tjdd}|dkrtjdrtjddrttjd }t	
|j | d}t|d}||j W 5 Q R X tj|W  5 Q R  S |d	kr`t| d
}t|d}|tjd   W 5 Q R X tjdddddt|d| dgddd}tjdd|dd}| d}tj|rNtj|W  5 Q R  S W 5 Q R  dS nt| dtjd  }t|d}|tjd   W 5 Q R X |dkr|jdkrd}nd}ddd d!| d!t|d"|g}	td#|	d$d%d&\}
}|
rt|d}t	
t| t|D ],}||jr<q&| d'| } qTq&t	
| tj|W  5 Q R  S W 5 Q R X dS )(u   
        :param to_format: 
        - default: pdf
        - pdf_sheets: если нужно каждый лист excel/calc выгрузить в отдельный pdf
        formatZpdfZhtmlZmimetypez	.documentfilez/result.htmlzw+Z
pdf_sheetsz/fullview.xlszwb+z/usr/bin/libreofficez
--headlessz--nologoz--nofirststartwizardz--norestorez&macro:///Standard.Module1.ExportToPdf()<   T)timeoutcheckz%tar -cf fullview.tar fullview_page*.*)r
   cwdshellz/fullview.tarNz/previewsuffixz.xlsxz html:HTML (StarCalc):EmbedImagesz"html:XHTML Writer File:EmbedImagesZlibreofficez--convert-to'z--outdir F
   )Zsudor
   r   )tempfileZTemporaryDirectoryZrequestvaluesgetendswithmammothZconvert_to_htmlfilesgdebugmessagesopenwritevalueZflaskZhelpersZ	send_filer   read
subprocessrunstrospathexistsr   Zrun_bash_commandjoinZSubprocessErrorlistdir)selfZtmp_dirZ	to_formatresultZres_pathfZ	file_pathfpproccmdresout	file_name r0   "./modules/converter/views/index.pypost   st    &


 






zConverterView.postN)__name__
__module____qualname__Z__url__cmfviewsactionr2   r0   r0   r0   r1   r      s   r   )
r   r   pathlibr   Zcmf.includer   r6   r7   ZBaseViewr   r0   r0   r0   r1   <module>   s
   