U
    ®[Öe‰  ã                   @   s^   d dl Z d dlZd dlZd dlmZ d dlmZ dd„ Zdd„ Zdd	„ Z	G d
d„ dej
ƒZdS )é    N)Úfind_package)Úbasec                  C   s$   d} t j t j tjd¡¡r d} | S )Nz	share/manÚman)ÚosÚpathÚexistsÚjoinÚsysÚprefix)Úmanpath© r   úQ/var/www/html/services/stratfitenv/lib/python3.8/site-packages/pbr/hooks/files.pyÚget_manpath   s    r   c                 C   s   t j tƒ d|  ¡S )Nzman%s)r   r   r   r   )Úsectionr   r   r   Úget_man_section#   s    r   c                 C   s>   t jdkr.|  dd¡} d t | ¡¡ dd¡S d t | ¡¡S )NÚntú\ú/Ú )r   ÚnameÚreplacer   ÚshlexÚsplit)r   r   r   r   Úunquote_path'   s    
r   c                       sT   e Zd ZdZ‡ fdd„Z‡ fdd„Zdd„ Zdd	„ Zd
d„ Zdd„ Z	dd„ Z
‡  ZS )ÚFilesConfigÚfilesc                    s*   t t| ƒ |¡ || _| j dd¡| _d S )NÚ
data_filesr   )Úsuperr   Ú__init__r   ÚconfigÚgetr   )Úselfr   r   ©Ú	__class__r   r   r   :   s    zFilesConfig.__init__c                    s   | j | jd< tt| ƒ ¡  d S )Nr   )r   r   r   r   Úsave)r!   r"   r   r   r$   ?   s    zFilesConfig.savec                    sâ   g }| j  d¡D ]À}| ¡  d¡rÆd|krÆ| d¡\}}| ¡ d d… }| ¡ }| tjj¡sj|tjj7 }t|ƒ}t|ƒ}t 	|¡D ]>\‰ }}	ˆ  
||d¡}
| d|
 ¡ | ‡ fdd„|	D ƒ¡ q„q| |¡ qd |¡| _ d S )	NÚ
Ú*ú=éÿÿÿÿé   z'%s' = c                    s   g | ]}d t j ˆ |¡ ‘qS )z '%s')r   r   r   )Ú.0Úf©Údirpathr   r   Ú
<listcomp>W   s     z,FilesConfig.expand_globs.<locals>.<listcomp>)r   r   ÚrstripÚendswithÚstripr   r   Úsepr   Úwalkr   ÚappendÚextendr   )r!   ÚfinishedÚlineÚtargetZsource_globZsource_prefixZunquoted_prefixZunquoted_targetÚdirnamesÚfnamesÚ
new_prefixr   r,   r   Úexpand_globsC   s*     ÿÿzFilesConfig.expand_globsc                 C   s   d| j |f | _ d S )Nz	%s
'%s' =©r   )r!   Zman_pathr   r   r   Úadd_man_path]   s    zFilesConfig.add_man_pathc                 C   s   d| j |f | _ d S )Nz	%s
  '%s'r=   )r!   Zman_pager   r   r   Úadd_man_page`   s    zFilesConfig.add_man_pagec                 C   sR   t ƒ }| jd }| ¡ D ]4}| ¡ d }| |tƒ ¡}| | ¡ ¡ |||< q|S )NÚmanpagesr(   )ÚdictÚ
pbr_configr   r1   r    Úlistr4   )r!   Úman_sectionsr@   ZmanpageZsection_numberr   r   r   r   Úget_man_sectionsc   s    

zFilesConfig.get_man_sectionsc           	      C   s²   | j  d| j¡ ¡ }g }| d¡D ](}tj | ¡ ¡r"| t	 
| ¡ ¡¡ q"d |¡| j d< |  ¡  d| jkr®|  ¡ }| ¡ D ].\}}t|ƒ}|  |¡ |D ]}|  |¡ qœq~d S )NÚpackagesr%   r@   )r   r    r   r1   r   r   r   Úisdirr4   r   Zsmart_find_packagesr   r<   rB   rE   Úitemsr   r>   r?   )	r!   rF   ÚexpandedÚpkgrD   r   Zpagesr   Úpager   r   r   Úhookm   s    

zFilesConfig.hook)Ú__name__Ú
__module__Ú__qualname__r   r   r$   r<   r>   r?   rE   rL   Ú__classcell__r   r   r"   r   r   6   s   
r   )r   r   r	   Zpbrr   Z	pbr.hooksr   r   r   r   Z
BaseConfigr   r   r   r   r   Ú<module>   s   