U
    l;Þdr  ã                   @   sD   d dl Z d dlZd dlmZ d dlT d dlZG dd„ dejjƒZ	dS )é    N)ÚPath)Ú*c                   @   s    e Zd ZdZejjdd„ ƒZdS )ÚConverterViewú/c              
   C   sÄ  t  ¡ °}tj dd¡}|dkr tj d¡r tj d¡ d¡r t tjd ¡}t	 
|j¡ |› d}t|dƒ}| |j¡ W 5 Q R X tj |¡W  5 Q R £ S t|› 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dd|› dt|ƒd|g}td |¡ddd\}	}
|	rHt |
¡‚d }t	 
t |¡¡ t |¡D ],}| |j¡r|qf|› d|› } q”qft	 
|¡ tj |¡W  5 Q R £ S W 5 Q R X d S )NÚformatZpdfZhtmlZmimetypez	.documentÚfilez/result.htmlzw+z/previewÚsuffixzwb+z.xlsxz html:HTML (StarCalc):EmbedImagesz"html:XHTML Writer File:EmbedImagesZlibreofficez
--headlessz--convert-toú'z--outdirú Fé
   )ZsudoÚtimeoutr   )ÚtempfileZTemporaryDirectoryZrequestÚvaluesÚgetÚendswithÚmammothZconvert_to_htmlÚfilesÚgÚdebugÚmessagesÚopenÚwriteÚvalueZflaskZhelpersZ	send_filer   Úreadr   ÚstrZrun_bash_commandÚjoinÚ
subprocessZSubprocessErrorÚosÚlistdir)ÚselfZtmp_dirZ	to_formatÚresultZres_pathÚfZ	file_pathÚfpÚcmdÚresÚoutÚ	file_name© r'   ú"./modules/converter/views/index.pyÚpost   sH    &


ú


zConverterView.postN)Ú__name__Ú
__module__Ú__qualname__Z__url__ÚcmfÚviewsÚactionr)   r'   r'   r'   r(   r      s   r   )
r   r   Úpathlibr   Zcmf.includer   r-   r.   ZBaseViewr   r'   r'   r'   r(   Ú<module>   s
   