
    c                     p    d dl Z d dlZd dlZd dlmZ d dlmZ d Zd Zd Z	 G d dej                        Zy)	    N)find_package)basec                      d} t         j                  j                  t         j                  j                  t        j
                  d            rd} | S )Nz	share/manman)ospathexistsjoinsysprefix)manpaths    1/usr/lib/python3/dist-packages/pbr/hooks/files.pyget_manpathr      s6    G	ww~~bggll3::u56
 N    c                 X    t         j                  j                  t               d| z        S )Nzman%s)r   r   r
   r   )sections    r   get_man_sectionr   #   s    77<<w'899r   c                     t         j                  dk(  rF| j                  dd      } dj                  t	        j
                  |             j                  dd      S dj                  t	        j
                  |             S )Nnt\/ )r   namereplacer
   shlexsplit)r   s    r   unquote_pathr   '   s^     
ww$ ||D#&wwu{{4()11#t<<775;;t$%%r   c                   J     e Zd ZdZ fdZ fdZd Zd Zd Zd Z	d Z
 xZS )	FilesConfigfilesc                 |    t         t        |   |       || _        | j                  j                  dd      | _        y )N
data_filesr   )superr   __init__r   configgetr"   )selfr%   r   	__class__s      r   r$   zFilesConfig.__init__:   s/    k4)&1	++//,;r   c                 \    | j                   | j                  d<   t        t        |           y )Nr"   )r"   r%   r#   r   save)r'   r(   s    r   r*   zFilesConfig.save?   s"    $(OOL!k4%'r   c                 "   g }| j                   j                  d      D ]S  }|j                         j                  d      rd|v r|j                  d      \  }}|j	                         d d }|j	                         }|j                  t
        j                  j                        s|t
        j                  j                  z  }t        |      }t        |      }t        j                  |      D ]m  \  }}	}
|j                  ||d      }|j                  d|z         |j                  |
D cg c]%  }dt
        j                  j                  ||      z  ' c}       o C|j                  |       V dj                  |      | _         y c c}w )N
*=   z'%s' = z '%s')r"   r   rstripendswithstripr   r   sepr   walkr   appendextendr
   )r'   finishedlinetargetsource_globsource_prefixunquoted_prefixunquoted_targetdirpathdirnamesfnames
new_prefixfs                r   expand_globszFilesConfig.expand_globsC   sJ   OO))$/ 	&D{{}%%c*sd{(,

3% + 1 1 3CR 8rww{{3bggkk)F".}"=".v"63577?3K 	N/Wh
 ")1@!"EJOOI
$:;OOEKL277<<#;;LN	N %)	&, ))H-	 Ms   ,*Fc                 2    | j                   d|d| _         y )Nz
'z' =r"   )r'   man_paths     r   add_man_pathzFilesConfig.add_man_path]       *.//8Dr   c                 2    | j                   d|d| _         y )Nz
  ''rF   )r'   man_pages     r   add_man_pagezFilesConfig.add_man_page`   rI   r   c                    t               }| j                  d   }|j                         D ]S  }|j                         d   }|j	                  |t                     }|j                  |j                                |||<   U |S )Nmanpagesr/   )dict
pbr_configr   r3   r&   listr6   )r'   man_sectionsrO   manpagesection_numberr   s         r   get_man_sectionszFilesConfig.get_man_sectionsc   su    v??:.~~' 	3G$]]_R0N"&&~tv>GNN7==?++2L(		3
 r   c                    | j                   j                  d| j                        j                         }g }|j	                  d      D ]b  }t
        j                  j                  |j                               s1|j                  t        j                  |j                                      d dj                  |      | j                   d<   | j                          d| j                  v r]| j                         }|j                         D ]9  \  }}t!        |      }| j#                  |       |D ]  }| j%                  |        ; y y )Npackagesr,   rO   )r%   r&   r   r3   r   r   r   isdirr6   r   smart_find_packagesr
   rD   rQ   rV   itemsr   rH   rM   )	r'   rX   expandedpkgrS   r   pagesr   pages	            r   hookzFilesConfig.hookm   s   ;;??:tyy9??A>>$' 	OCww}}SYY[) @ @ MN	O #'))H"5J(002L$0$6$6$8 , %)'2!!'*! ,D%%d+,, )r   )__name__
__module____qualname__r   r$   r*   rD   rH   rM   rV   r`   __classcell__)r(   s   @r   r   r   6   s-    G<
(.4EE,r   r   )r   r   r   pbrr   	pbr.hooksr   r   r   r   
BaseConfigr    r   r   <module>ri      s7     
  
  :&H,$// H,r   