U
    meG                     @   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   sR  d}t  :}tjd|d d d 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 tj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|s*t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
   checkz/usr/bin/libreofficez
--headlessz--nologoz--nofirststartwizardz--norestorez&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:EmbedImagesr   z/.lo_profilez/root/.config/libreoffice/4/Zlibreofficez-env:UserInstallation=file://z-env:SingleAppInstance=falsez--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strospathexistsr   shutilcopytree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fpprocZlo_profile_dir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   