o
    ¯N iá  ã                   @   sv   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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 )é    )Úabsolute_import)Úprint_functionN)Ú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   úC/home/ubuntu/.local/lib/python3.10/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&   ó   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'   B   s   zFilesConfig.savec                    sâ   g }| j  d¡D ]`}| ¡  d¡rcd|v rc| d¡\}}| ¡ d d… }| ¡ }| tjj¡s5|tjj7 }t|ƒ}t|ƒ}t 	|¡D ]\‰ }}	ˆ  
||d¡}
| d|
 ¡ | ‡ fdd„|	D ƒ¡ qBq| |¡ 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>[   s    z,FilesConfig.expand_globs.<locals>.<listcomp>)r   r   ÚrstripÚendswithÚstripr   r   Úsepr   Úwalkr   ÚappendÚextendr
   )r$   ÚfinishedÚlineÚtargetÚsource_globÚsource_prefixÚunquoted_prefixÚunquoted_targetÚdirnamesÚfnamesÚ
new_prefixr   r/   r   Úexpand_globsF   s*   ÿÿ÷zFilesConfig.expand_globsc                 C   ó   d| j |f | _ d S )Nz	%s
'%s' =©r   )r$   Úman_pathr   r   r   Úadd_man_pathb   r   zFilesConfig.add_man_pathc                 C   rD   )Nz	%s
  '%s'rE   )r$   Úman_pager   r   r   Úadd_man_pagee   r   zFilesConfig.add_man_pagec                 C   sP   i }| j d }| ¡ D ]}| ¡ d }| |tƒ ¡}| | ¡ ¡ |||< q|S )NÚmanpagesr+   )Ú
pbr_configr   r4   r#   Úlistr7   )r$   Úman_sectionsrJ   ÚmanpageÚsection_numberr   r   r   r   Úget_man_sectionsh   s   

zFilesConfig.get_man_sectionsc           	      C   s¶   | j  d| j¡ ¡ }g }| d¡D ]}tj | ¡ ¡r%| t	 
| ¡ ¡¡ qd |¡| j d< |  ¡  d| jv rW|  ¡ }| ¡ D ]\}}t|ƒ}|  |¡ |D ]}|  |¡ qNq?d S d S )NÚpackagesr(   rJ   )r"   r#   r   r4   r   r   r   Úisdirr7   r   Úsmart_find_packagesr
   rC   rK   rP   Úitemsr   rG   rI   )	r$   rQ   ÚexpandedÚpkgrM   r   Úpagesr   Úpager   r   r   Úhookr   s$   €

ÿûzFilesConfig.hook)Ú__name__Ú
__module__Ú__qualname__r   r!   r'   rC   rG   rI   rP   rY   Ú__classcell__r   r   r%   r   r   9   s    
r   )Ú
__future__r   r   r   r   r   Úpbrr   Ú	pbr.hooksr   r   r   r   Ú
BaseConfigr   r   r   r   r   Ú<module>   s   