U
    vf                     @   sh   d dl Z d dlZd dlmZ d dlT d dlZd dlZd dlZd dlZd dl	m	Z	 G dd de
jjZdS )    N)Path)*)datetimec                   @   s    e Zd ZdZejjdd ZdS )ConverterView/c                 C   st  d}t  \}tjd|d d d8 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  W  5 Q R  S |dkrt| d}t|d}|tj
d   W 5 Q R X tjdddddgddd d| d}	td|	 tjddddd d!|	 d"t|d#| d$g	ddd}
tjd%d|dd&}
| d'}tj|rtj|W  5 Q R  W  5 Q R  S W 5 Q R  W 5 Q R  d(S nt| d)tjd*  }t|d}|tj
d   W 5 Q R X |dkr>|jd+kr:d,}nd-}d| d}	td|	 tj|}d.dd d!|	 d"d/d0| d0t|d1|g
}t d2!|d3|ddd4\}}}}|rt"d5d2!| d6|d7|d8|d9|d:|t#j$d; t"d<t#j$d; t d2!|d3|ddd4\}}}}|rt%& 'd=}d>}tj|sLtj(|d?d@ | d| dA|)ddB  dC}t"dD| t#j$d; t*|| t+dE|d6|d8|d9|t"dF|d8|d9|t#j,d; d(}tt-| t-|D ]@}| d| }||jrqtj.| r$q q.qt| tj|W  5 Q R  W  5 Q R  S W 5 Q R X W 5 Q R X d(S )Gu   
        :param to_format: 
        - default: pdf
        - pdf_sheets: если нужно каждый лист excel/calc выгрузить в отдельный pdf
           zlibreoffice-convert-document      )timeoutformatZpdfZhtmlZmimetypez	.documentfilez/result.htmlzw+Z
pdf_sheetsz/fullview.xlszwb+Zrsyncz-az--deletez'/opt/eva-converter/libreoffice_scripts/z'/root/.config/libreoffice/4/user/basic/<   T)r
   checkr   z/.lo_profilez/root/.config/libreoffice/4/z/usr/bin/libreofficez
--headlessz--nologoz--nofirststartwizardz--norestorez-env:UserInstallation=file://z-env:SingleAppInstance=falsez&macro:///Standard.Module1.ExportToPdf()z%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
   Zseparate_out_and_errZmeasure_runtimeu.   Ошибка создания файла! cmd=z, out=z, err=z, size=z
, runtime=z, res=)r   u   Повторим попыткуz%Y%m%d_%H%Mz/opt/converter_errorsi	  )mode_z_preview.htmluA   Ошибка повторилась! Сохраняем файл zerr=zconverter_time: to_format=)/tempfileZTemporaryDirectoryZcmfutilZCmfLockZrequestvaluesgetendswithmammothZconvert_to_htmlfilesgdebugmessagesopenwritevalueZflaskZhelpersZ	send_filer   read
subprocessrunshutilcopytreestrospathexistsr   getsizeZrun_bash_commandjoinprintsysstderrr   nowstrftimemkdirsplitcopy2ZSubprocessErrorstdoutlistdirisdir)selfr
   Ztmp_dirZ	to_formatresultZres_pathfZ	file_pathfpZlo_profile_dirprocsizecmdresouterrZruntimer2   Zconverter_errorsZ
debug_file	file_name rE   "./modules/converter/views/index.pypost   s    &
$


	
$


 8  " 

zConverterView.postN)__name__
__module____qualname__Z__url__cmfviewsactionrG   rE   rE   rE   rF   r      s   r   )r%   r   pathlibr   Zcmf.includer   r*   r0   r'   r   rK   rL   ZBaseViewr   rE   rE   rE   rF   <module>   s   