
    L&i*                        d 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lmZmZm	Z	 ddl
mZ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mZ ddlmZmZ ddlmZmZ ddlmZ ddlmZm Z  ddl!m"Z"  ej#         ej$        e%                    Z& ej'        e&d          Z( ee)d          Z* ej+        e)          Z, G d de          Z- G d de          Z. G d de          Z/dedee0ef         fdZ1dS )z
    sphinxcontrib.applehelp
    ~~~~~~~~~~~~~~~~~~~~~~~

    Build Apple help books.

    :copyright: Copyright 2007-2019 by the Sphinx team, see README.
    :license: BSD, see LICENSE for details.
    N)environ)path)CalledProcessErrorPIPESTDOUT)AnyDict)Sphinx)StandaloneHTMLBuilder)SphinxError)get_translation)logging)SkipProgressMessageprogress_message)
copy_assetcopy_asset_file)Matcher)	ensuredirmake_filename)__version__	templatesconsolec                   $    e Zd Z ed          ZdS )AppleHelpIndexerFailedzHelp indexer failedN__name__
__module____qualname____category     m/home/geonatureadmin/si_en_reseau/tutos/venv/lib/python3.11/site-packages/sphinxcontrib/applehelp/__init__.pyr   r   &           r'((HHHr"   r   c                   $    e Zd Z ed          ZdS )AppleHelpCodeSigningFailedzCode signing failedNr   r!   r"   r#   r&   r&   *   r$   r"   r&   c                       e Zd ZdZdZ ed          ZdZg dZdZ	dZ
dZd fd	Zd fd
Z e ed                    dd            ZddZ e ed                    deddfd            ZdeddfdZ e ed                    deddfd            Z e ed                    deddfd            Z e ed                    dd            Z xZS )AppleHelpBuilderz{
    Builder that outputs an Apple help book.  Requires Mac OS X as it relies
    on the ``hiutil`` command line tool.
    	applehelpzThe help book is in %(outdir)s.
Note that won't be able to view it unless you put it in ~/Library/Documentation/Help or install it in your application bundle.F)z	image/pngz	image/gifz
image/jpegz
image/tiffz	image/jp2zimage/svg+xmlTreturnNc                 h   t                                                       d| _        d| _        | j        j        t          t          d                    t          j	        | j
        | j        j        dz             | _        t          j	        | j        dd| j        j        dz             | _
        d S )Nz.htmlzBYou must set applehelp_bundle_id before building Apple Help outputz.helpContents	Resources.lproj)superinit
out_suffixlink_suffixconfigapplehelp_bundle_idr   r   r   joinoutdirapplehelp_bundle_namebundle_pathapplehelp_localeself	__class__s    r#   r0   zAppleHelpBuilder.initG   s    !";*2b "> ? ? @ @ @  9T[%)[%F%PR Ri 0 * + $ <x GI Ir"   c                     t                                                       | j                            | j                   | j                            | j                   d S N)r/   handle_finishfinish_tasksadd_taskcopy_localized_filesbuild_helpbookr:   s    r#   r?   zAppleHelpBuilder.handle_finishX   sS    ""4#<===""4#677777r"   zcopying localized filesc                    t          j        | j        | j        j        dz             }| j        }t          j        |          r=t          | j        j        dgz             }t          |||| j
        | j                   d S d S )Nr.   z**/.*)contextrenderer)r   r5   confdirr3   r9   r6   isdirr   exclude_patternsr   globalcontextr   )r;   
source_dir
target_direxcludeds       r#   rB   z%AppleHelpBuilder.copy_localized_files^   s    Yt|T[-IH-TUU
[
:j!! 	Lt{;wiGHHHz:x#1DNL L L L L L	L 	Lr"   c                    t          j        | j        d          }t          j        |d          }t          j        || j        j        dz             }t          |           |                     |           |                     |           |                     |           | 	                    |           | j        j
        r|                                  d S d S )Nr,   r-   r.   )r   r5   r8   r3   r9   r   build_info_plistcopy_applehelp_iconbuild_access_pagebuild_helpindexapplehelp_codesign_identitydo_codesign)r;   contents_dirresources_dirlanguage_dirs       r#   rC   zAppleHelpBuilder.build_helpbookh   s    y!1:>>	,<<y!%!=!HJ J,l+++  ///|,,,\***;2 		 	r"   zwriting Info.plistrU   c                    | j         j        | j         j        dd| j         j        d| j         j        dd| j         j        ddd}| j         j        !t          j        | j         j                  |d
<   | j         j	        | j         j
        |d<   | j         j	        |d<   | j         j        | j         j        |d<   t          t          j        |d          d          5 }t          j        ||           d	d	d	           d	S # 1 swxY w Y   d	S )zConstruct the Info.plist file.z6.0BNDLhbwrz_access.htmlsearch.helpindex3F)CFBundleDevelopmentRegionCFBundleIdentifierCFBundleInfoDictionaryVersionCFBundlePackageTypeCFBundleShortVersionStringCFBundleSignatureCFBundleVersionHPDBookAccessPathHPDBookIndexPathHPDBookTitleHPDBookTypeHPDBookUsesExternalViewerNHPDBookIconPathHPDBookKBProductHPDBookKBURLHPDBookRemoteURLz
Info.plistwb)r3   applehelp_dev_regionr4   releaseapplehelp_bundle_versionapplehelp_titleapplehelp_iconr   basenameapplehelp_kb_urlapplehelp_kb_productapplehelp_remote_urlopenr5   plistlibdump)r;   rU   
info_plistfs       r#   rO   z!AppleHelpBuilder.build_info_plistw   sH    *.)I"&+"A-2#)*.+*=!'#{C!/ 2 K7).
 

 ;%1,0M$+:T,U,UJ();'3-1[-MJ)*)-)EJ~&;+7-1[-MJ)*$)L,77>> 	)!M*a(((	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	)s   C::C>C>rV   c                 x   | j         j        r	 t          t          d                    5  t	          j        | j        | j         j                  }t          ||           ddd           dS # 1 swxY w Y   dS # t          $ r4}t          
                    t          d          ||           Y d}~dS d}~ww xY wdS )z"Copy the icon, if one is supplied.zcopying icon... Nzcannot copy icon file %r: %s)r3   rr   r   r   r   r5   srcdirr   	Exceptionloggerwarning)r;   rV   rr   errs       r#   rP   z$AppleHelpBuilder.copy_applehelp_icon   s0   ;% 	XX%b);&<&<== C C%)Yt{DK<V%W%WN#NMBBBC C C C C C C C C C C C C C C C C C  X X Xr"@AA>SVWWWWWWWWWX	X 	Xs:   A9 5A,A9 ,A00A9 3A04A9 9
B7)B22B7zbuilding access pagerW   c                     | j         j        | j        z   | j         j        d}t	          t          j        t          d          ||           dS )zBuild the access page.)toctitlez_access.html_tN)r3   
master_docr1   rq   r   r   r5   template_dir)r;   rW   rE   s      r#   rQ   z"AppleHelpBuilder.build_access_page   sO     ;)DO;[0
 
 		,0@AA<QXYYYYYr"   zgenerating help indexc                    | j         j        dt          j        |d          |g}| j         j        |                    d           | j         j        |dd| j         j        z  gz  }| j         j        |d| j         j        gz  }| j         j        |d| j         j        gz  }| j         j	        r:t          t          d	          d
                    d |D                                 	 t          j        |t          t          d           dS # t           $ r& t#          t          d          |d         z            t$          $ r}t#          |j                  d}~ww xY w)zGenerate the help index.z-Cfr[   Nz-az-mz%s-sz-lz0you will need to index this help book with:
  %s c                 6    g | ]}t          j        |          S r!   shlexquote.0args     r#   
<listcomp>z4AppleHelpBuilder.build_helpindex.<locals>.<listcomp>   "    /Q/Q/QSC0@0@/Q/Q/Qr"   TstdoutstderrcheckCommand not found: %sr   )r3   applehelp_indexer_pathr   r5   applehelp_index_anchorsappendapplehelp_min_term_lengthapplehelp_stopwordsr9    applehelp_disable_external_toolsr   r   
subprocessrunr   r   OSErrorr   r   r   )r;   rW   argsexcs       r#   rR   z AppleHelpBuilder.build_helpindex   s~    K.Il$677	
 ;.:KK;0<T4$+"GGHHD;*6T4;:;;D;'3T4;788D;7 		9%b)\&]&]&)hh/Q/QD/Q/Q/Q&R&RT T T9tDtLLLLLL T T T,R0G-H-H4PQ7-RSSS% 9 9 9,SZ8889s   &"D
 
8EEEzsigning help bookc                    | j         j        d| j         j        dg}|| j         j        z  }|                    | j                   | j         j        r:t          t          d          d	                    d |D                                 	 t          j        |t          t          d           d
S # t          $ r& t          t          d          |d	         z            t           $ r}t          |j                  d
}~ww xY w)z(If we've been asked to, sign the bundle.r   z-fz/you will need to sign this help book with:
  %sr   c                 6    g | ]}t          j        |          S r!   r   r   s     r#   r   z0AppleHelpBuilder.do_codesign.<locals>.<listcomp>   r   r"   Tr   r   r   N)r3   applehelp_codesign_pathrS   applehelp_codesign_flagsr   r8   r   r   r   r5   r   r   r   r   r   r&   r   r   )r;   r   r   s      r#   rT   zAppleHelpBuilder.do_codesign   s    K/$+9
 	44D$%%%;7 		=%b)[&\&\&)hh/Q/QD/Q/Q/Q&R&RT T T=tDtLLLLLL X X X04K1L1LtTUw1VWWW% = = =0<<<=s   "B/ /8D 'C;;D )r*   N)r   r   r   __doc__namer   epilog
copysourcesupported_image_typesadd_permalinksembeddedsearchr0   r?   r   rB   rC   strrO   rP   rQ   rR   rT   __classcell__)r<   s   @r#   r(   r(   .   s=         DR   F JI I I N H FI I I I I I"8 8 8 8 8 8 bb23344L L L 54L    bb-..//)S )T ) ) ) 0/)<	X 	X 	X 	X 	X 	X bb/0011Zc Zd Z Z Z 21Z bb011229C 9D 9 9 9 329@ bb,--..= = = /.= = = = =r"   r(   appr*   c                 z   |                      d           |                     t                     |                     t          t          j        t          d                     |                     dd d           |                     dd dt          g           |                     ddd           |                     d	d
d           |                     dd dt          g           |                     dd d           |                     dd dt          g           |                     dd dt          g           |                     dddt          g           |                     dd dt          g           |                     dd d           |                     dd d           |                     dd d           |                     dd d           |                     dd d           |                     ddd           |                     dd d           |                     d!dd           t          d"d"d#S )$Nzsphinx.builders.htmllocalesr7   c                 *    t          | j                  S r>   )r   projectr;   s    r#   <lambda>zsetup.<locals>.<lambda>   s    mDL&A&A r"   r)   r4   rn   zen-usrp   1rr   ru   c                 >    t          | j                  d| j        S )N-)r   r   ro   r   s    r#   r   zsetup.<locals>.<lambda>   s    t|1L1L1L1Ldll&[ r"   rt   rv   r   Fr   r   c                     | j         pdS Nenlanguager   s    r#   r   zsetup.<locals>.<lambda>   s    dm&;t r"   r9   c                     | j         pdS r   r   r   s    r#   r   zsetup.<locals>.<lambda>   s    $-:O4 r"   rq   c                     | j         dz   S )Nz Help)r   r   s    r#   r   zsetup.<locals>.<lambda>   s    9O r"   rS   c                 ,    t          j        dd           S )NCODE_SIGN_IDENTITY)r   getr   s    r#   r   zsetup.<locals>.<lambda>   s    gk2F&M&M r"   r   c                 P    t          j        t          j        dd                    S )NOTHER_CODE_SIGN_FLAGS )r   splitr   r   r   s    r#   r   zsetup.<locals>.<lambda>   s    ek'+>UWY2Z2Z&[&[ r"   r   z/usr/bin/hiutilr   z/usr/bin/codesignr   T)versionparallel_read_safeparallel_write_safe)setup_extensionadd_builderr(   add_message_catalogr   r   r5   package_diradd_config_valuer   r   )r   s    r#   setupr      s   .///OO$%%%HdiY&G&GHHH0AA;P P P.kC5III/+FFF3S+FFF)4seDDD/[[$& & & +T;FFF/{SEJJJ2E;NNN4dK#OOO.;;[J J J+-O-OQ\]]]*,O,OQ\]]]6MM$& & & 3[[$& & & 13DkRRR24GUUU;UKPPP "#  r"   )2r   rx   r   r   osr   r   r   r   r   typingr   r	   sphinx.applicationr
   sphinx.builders.htmlr   sphinx.errorsr   sphinx.localer   sphinx.utilr   r   r   sphinx.util.fileutilr   r   sphinx.util.matchingr   sphinx.util.osutilr   r   sphinxcontrib.applehelp.versionr   abspathdirname__file__r   r5   r   r   r   	getLoggerr   r   r&   r(   r   r   r!   r"   r#   <module>r      s^                      7 7 7 7 7 7 7 7 7 7         % % % % % % 6 6 6 6 6 6 % % % % % % ) ) ) ) ) )       = = = = = = = = < < < < < < < < ( ( ( ( ( ( 7 7 7 7 7 7 7 7 7 7 7 7 7 7dl<4<1122tyk22_Xy))		8	$	$) ) ) ) )[ ) ) )) ) ) ) ) ) ) )s= s= s= s= s=, s= s= s=l$v $$sCx. $ $ $ $ $ $r"   