U
    Ö}¥cj  ã                   @   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ždtj d¡k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\}	}
|	rDt |
¡‚d }t 	t |¡¡ t |¡D ],}| |j¡rxqb|› d|› } qqbt 	|¡ 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Ú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Úendswith)Ú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
   