U •Vaã@sNddlZddlZddlmZddlmZdd„Zdd„ZGdd „d ejƒZ dS) éN)Ú find_package)ÚbasecCs$d}tj tj tjd¡¡r d}|S)Nz share/manZman)ÚosÚpathÚexistsÚjoinÚsysÚprefix)Úmanpath©r ú /files.pyÚ get_manpathsr cCstj tƒd|¡S)Nzman%s)rrrr )Úsectionr r r Úget_man_section"srcsTeZdZdZ‡fdd„Z‡fdd„Zdd„Zdd „Zd d „Zd d „Z dd„Z ‡Z S)Ú FilesConfigÚfilescs*tt|ƒ |¡||_|j dd¡|_dS)NÚ data_filesÚ)ÚsuperrÚ__init__ÚnameÚconfigÚgetr)Úselfrr©Ú __class__r r r*szFilesConfig.__init__cs|j|jd<tt|ƒ ¡dS)Nr)rrrrÚsave)rrr r r/s zFilesConfig.savec sÌg}|j d¡D]ª}| ¡ d¡r°d|kr°| d¡\}}| ¡dd…}| ¡}| tjj¡sj|tjj7}t |¡D]8\‰}}|  dˆ  ||¡¡|  ‡fdd„|Dƒ¡qtq|  |¡qd  |¡|_dS)NÚ Ú*ú=éÿÿÿÿz%s = csg|]}dtj ˆ|¡‘qS)z %s)rrr)Ú.0Úf©Údirpathr r Ú @sz,FilesConfig.expand_globs..) rÚsplitÚrstripÚendswithÚstriprrÚsepÚwalkÚappendÚreplaceÚextendr)rZfinishedÚlineÚtargetZ source_globZ source_prefixZdirnamesÚfnamesr r#r Ú expand_globs3s" ÿÿ zFilesConfig.expand_globscCsd|j|f|_dS)Nz%s %s =©r)rZman_pathr r r Ú add_man_pathFszFilesConfig.add_man_pathcCsd|j|f|_dS)Nz%s %sr3)rZman_pager r r Ú add_man_pageIszFilesConfig.add_man_pagecCsRtƒ}|jd}| ¡D]4}| ¡d}| |tƒ¡}| | ¡¡|||<q|S)NÚmanpagesr )ÚdictÚ pbr_configr&r)rÚlistr,)rÚ man_sectionsr6ZmanpageZsection_numberrr r r Úget_man_sectionsLs    zFilesConfig.get_man_sectionsc Cs²|j d|j¡ ¡}g}| d¡D](}tj | ¡¡r"| t   | ¡¡¡q"d  |¡|jd<|  ¡d|j kr®| ¡}| ¡D].\}}t|ƒ}| |¡|D]}| |¡qœq~dS)NÚpackagesrr6)rrrr)r&rrÚisdirr,rZsmart_find_packagesrr2r8r;Úitemsrr4r5) rr<ZexpandedZpkgr:rZpagesr Zpager r r ÚhookVs  zFilesConfig.hook) Ú__name__Ú __module__Ú __qualname__rrrr2r4r5r;r?Ú __classcell__r r rr r&s   r) rrZpbrrZ pbr.hooksrr rZ BaseConfigrr r r r Ús