U
    Te_                     @   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   s8  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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rd"}nd#}d$| d%}
td&|
 tj|}d'ddd(|
 d)d*d+| d+t|d,|g
}t d-!|d.|ddd/\}}}}|rrt"d0d-!| d1|d2|d3|d4|d5|t#j$d6 t"d7t#j$d6 t d-!|d.|ddd/\}}}}|rrt%& 'd8}d9}tj|stj(|d:d; | d$| d<|)d$d=  d>}t"d?| t#j$d6 t*|| t+d@|d1|d3|d4|t"dA|d3|d4|t#j,d6 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 )Bu   
        :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/usr/bin/libreofficez
--headlessz--nologoz--nofirststartwizardz--norestorez&macro:///Standard.Module1.ExportToPdf()<   T)r
   checkz%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   