a
    ž°gcu  ã                   @   s2  d dl mZ d dlmZ d dlmZ d dlmZ d dlmZ d dlZd dlZd dl	Z	d dl
Z
d dlZd dlZde
jd< e
jd  d	7  < d
ZdZdZdZg d¢g d¢dœZdZeeƒZe d¡dd„ ƒZejddgddd„ ƒZdd„ Zd)dd„Zdd„ Zd*d d!„Zd"d#„ Zd$d%„ Zd&d'„ Zed(kr.e  ¡  dS )+é    )Úprint_function)ÚFlask)Úrequest)Újson)Úmake_responseNzK/var/www/opengeolabs/gismentors/build-env/local/lib/python2.7/site-packagesZ
PYTHONPATHzF:/var/www/opengeolabs/gismentors/build-env/lib/python2.7/site-packagesz(/var/www/opengeolabs/gismentors/skoleni/)zbasic-data-processing-workshopzgeonetwork-zacatecnikúgeopython-englishzgeopython-pokrocilyzgeopython-zacatecnikzgeoserver-zacatecnikzgrass-gis-pokrocilyúgrass-gis-zacatecnikúgrass-gis-workshop-jenaú"grass-gis-irsae-winter-course-2018úisprs-summer-school-2016zmapserver-zacatecnikzopen-source-gisúotevrena-geodatazpostgis-pokrocilyúpostgis-zacatecnikúqgis-pokrocilyúqgis-zacatecnikúqgis-pluginsZvugtkzprostorove-databazezskoleni-gdal)r   r   r	   r
   r   )r   r   r   r   r   )Zrelease_3_4Zrelease_2_18Zrelease_2_14)r   r   zsphinx-templateú/c                   C   s   dS )NzHello World!
© r   r   r   ú0/var/www/opengeolabs/gismentors/builder/build.pyÚhello_worldF   s    r   z/buildZPOST)Úmethodsc                  C   sj   t  t ¡ ¡} | d d }t| ƒ}|dkr4t|ƒ n|tv rR|t| v rRt||ƒ tddƒ}d|jd< |S )NÚ
repositoryÚnameÚmasterz{"status":"success"}éÈ   zapplication/jsonzContent-type)	r   Úloadsr   Úget_dataÚ_get_branchÚ_build_branchÚBRANCHESr   Zheaders)Údatar   ÚbranchZrespr   r   r   ÚbuildK   s    



r!   c                 C   sš   t j d¡}t  t j t| dd¡¡ t|  D ]^}t j td | |¡dd¡}| dd¡d  	dd¡}t j 
|¡s,td ||¡ƒ t  ||¡ q,t  |¡ d S )	Nú./Z_buildÚhtmlz{}_{}Ú_é   Ú.zRestoring symlink '{}' -> '{}')ÚosÚpathÚabspathÚchdirÚjoinÚSKOLENI_DIRr   ÚformatÚsplitÚreplaceÚexistsÚprintÚsymlink)Úrepo_dirÚcurdirr    ÚsourceÚtargetr   r   r   Ú_restore_symlinks[   s    r7   r   c                 C   sX   dd„ }| t v r|| |ƒ n"| tkr>tƒ  t D ]}|||ƒ q.tdjddtjd d S )Nc                 S   sä   t dj| d|dtjd tj d¡}| }|dkr@|d |¡7 }t tj t	|¡¡ t
ƒ  | tv rfdnd}t|ƒ tƒ  | tv rˆt| ƒ | tv r–tƒ  tj t	d	| ¡}t d
 |¡ƒ tj |¡rÊt |¡ t d|¡ t |¡ d S )Nz'{sep}
Building {repo} ({branch})
{sep}
úP********************************************************************************)ZrepoÚsepr    ©Úfiler"   r   z_{}Zenz..zPUBLISH DIR: {}z_build/html)r1   r-   ÚsysÚstderrr'   r(   r)   r*   r+   r,   Ú_update_gitÚWORKSHOPSENÚ_update_git_templateÚ_update_htmlr   r7   ÚWORKSHOPSPDFÚ_update_pdfr0   ÚshutilZrmtreeZcopytree)r   r    r4   r3   Ztemplate_branchZpublish_dirr   r   r   Ú
build_repoh   s,    ÿ
z!_build_branch.<locals>.build_repoz{sep}
Builder finished
{sep}
r8   )r9   r:   )Ú	WORKSHOPSÚSPHINXr@   r1   r-   r<   r=   )r   r    rE   Zworkshopr   r   r   r   f   s    ÿr   c                   C   s(   t  ddg¡ td tj d¡¡ƒ d S )NÚgitZpullz{}: UPDATEDr"   )Ú
subprocessÚcallr1   r-   r'   r(   r)   r   r   r   r   r>   “   s    r>   c                 C   sX   t j d¡}t  t j tt¡¡ td | ¡t	j
d t dd| g¡ tƒ  t  |¡ d S )Nr"   zSPHINX TEMPLATE BRANCH: {}r:   rH   Zcheckout)r'   r(   r)   r*   r+   r,   rG   r1   r-   r<   r=   rI   rJ   r>   )r    r4   r   r   r   r@   —   s    
ÿr@   c                   C   s    t  ddg¡ t  ddg¡ d S )NÚmakeZcleanr#   )rI   rJ   r   r   r   r   rA   ¡   s    rA   c                  C   s€   t  ddg¡ ztt d¡tjjd} W n ty<   Y d S 0 dj	d 
tj | ¡ dd¡d d… ¡dd	}t | d
 	|¡¡ d S )NrK   Zlatexpdfz_build/latex/*.pdf)Úkeyz{base}.{ext}ú-éÿÿÿÿZpdf)ÚbaseZextz_build/html/{})rI   rJ   ÚmaxÚglobZiglobr'   r(   ÚgetctimeÚ
ValueErrorr-   r+   Úbasenamer.   rD   Úcopy)Ú	file_nameZ	dest_filer   r   r   rC   ¦   s     þrC   c                 C   s   | d }|  d¡d S )NÚrefr   rN   )r.   )r   rW   r   r   r   r   ²   s    r   Ú__main__)r   )r   )!Z
__future__r   Zflaskr   r   r   r   rI   rQ   Úrer'   rD   r<   Úenvironr,   rF   r?   rB   r   rG   Ú__name__ÚappZrouter   r!   r7   r   r>   r@   rA   rC   r   Úrunr   r   r   r   Ú<module>   sD   
	þ


-


