U
    g                     @   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   s  d}t jdd}|dkr<t jdr8t jdds<d}t N}tjd|d	 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rt| 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rh|jd,krdd-}nd.}d| d}	td|	 tj|}d/dd!d"|	 d#d0d1| d1t|d2|g
}t d3!|d4|ddd5\}}}}|rt"d6d3!| d7| d8| d9| d:| d;| t#j$d< t"d=t#j$d< t d3!|d4|ddd5\}}}}|rt%& 'd>}d?}tj|svtj(|d@dA | d| dB|)ddC  dD}t"dE| t#j$d< t*|| t+dF| d7| d9| d:| t"dG| d9| d:| t#j,d< d)}tt-| t-|D ]@}| d| }||jr:qtj.| rNq qXqt| tj|W  5 Q R  W  5 Q R  S W 5 Q R X W 5 Q R X d)S )Hu   
        :param to_format: 
        - default: pdf
        - pdf_sheets: если нужно каждый лист excel/calc выгрузить в отдельный pdf
           formatZpdfZhtmlZmimetypez	.documentiX  zlibreoffice-convert-document      )timeoutfilez/result.htmlzw+Z
pdf_sheetsz/fullview.xlszwb+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=)/ZrequestvaluesgetendswithtempfileZTemporaryDirectoryZcmfutilZCmfLock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	to_formatZtmp_dirresultZres_pathfZ	file_pathfpZlo_profile_dirprocsizecmdresouterrZruntimer3   Zconverter_errorsZ
debug_file	file_name rF   "./modules/converter/views/index.pypost   s    &&
$


	
$


 8  " 

zConverterView.postN)__name__
__module____qualname__Z__url__cmfviewsactionrH   rF   rF   rF   rG   r      s   r   )r&   r   pathlibr   Zcmf.includer   r+   r1   r(   r   rL   rM   ZBaseViewr   rF   rF   rF   rG   <module>   s   