B
    儧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   s  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 dQ R X tj|S |dkrt| d}t|d}|tj
d   W d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|S dS nht| d)tjd*  }t|d}|tj
d   W dQ R X |dkr|jd+krd,}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\}}}}|rjt"d5d2!| d6| d7| d8| d9| d:| t#j$d; t"d<t#j$d; t d2!|d3|ddd4\}}}}|rjt%& '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-| xJt-|D ]<}| d| }||jrΐqtj.| rqP qW t| tj|S W dQ R X W d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+NZ
pdf_sheetsz/fullview.xlszwb+Zrsyncz-az--deletez'/opt/eva-converter/libreoffice_scripts/z'/root/.config/libreoffice/4/user/basic/<   T)r
   Z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.tarz/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shutilZcopytreestrospathexistsr   getsizeZrun_bash_commandjoinprintsysstderrr   nowZstrftimemkdirsplitZcopy2ZSubprocessErrorstdoutlistdirisdir)selfr
   Ztmp_dirZ	to_formatresultZres_pathfZ	file_pathfpZlo_profile_dirprocsizecmdZresouterrZruntimer0   Zconverter_errorsZ
debug_file	file_name r@   "./modules/converter/views/index.pypost   s    &





8 " 
zConverterView.postN)__name__
__module____qualname__Z__url__cmfviewsactionrB   r@   r@   r@   rA   r      s   r   )r$   r   Zpathlibr   Zcmf.includer   r(   r.   r&   r   rF   rG   ZBaseViewr   r@   r@   r@   rA   <module>   s   