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

    :copyright: Copyright 2007-2019 by the Sphinx team, see README.
    :license: BSD, see LICENSE for details.
    N)path)AnyDict)ENV_PICKLE_FILENAMESphinx)	BuildInfoStandaloneHTMLBuilder)get_translation)SEPcopyfile	ensurediros_path)jsonimpl)__version__F)r   r   Tupleconsole
last_buildc                   Z     e Zd ZdZdZdZdZdZg dZd Z	ddZ
d Z	 	 dd
Z fdZ xZS )SerializingHTMLBuilderzA
    An abstract builder that serializes the generated HTML.
    NF )zimage/svg+xmlz	image/pngz	image/gifz
image/jpegc                 R   t          | j        | j                  | _        d| _        d | _        d | _        d | _        |                                  | 	                                 | 
                                 |                                  |                     dd          | _        d S )N_images	use_indexhtml)r   configtags
build_infoimagedircurrent_docnametheme	templatesinit_templatesinit_highlighterinit_css_filesinit_js_filesget_builder_configr   )selfs    s/home/geonatureadmin/si_en_reseau/tutos/venv/lib/python3.11/site-packages/sphinxcontrib/serializinghtml/__init__.pyinitzSerializingHTMLBuilder.init5   s    #DK;;!#
00fEE    c                 t    |dk    rdS |                     t          dz             r
|d d         S |t          z   S )Nindex )endswithr   )r'   docnametyps      r(   get_target_uriz%SerializingHTMLBuilder.get_target_uriB   sD    g2C'M** 	 3B3<}r*   c                 $   | j         rFt          |dd          5 } | j        j        ||g| j        R   d d d            d S # 1 swxY w Y   d S t          |d          5 } | j        j        ||g| j        R   d d d            d S # 1 swxY w Y   d S )Nwzutf-8)encodingwb)implementation_dumps_unicodeopenimplementationdumpadditional_dump_args)r'   contextfilenameftfbs        r(   dump_contextz#SerializingHTMLBuilder.dump_contextJ   sc   , 	Rhg666 R"(#("Qt7PQQQQR R R R R R R R R R R R R R R R R R h%% R(#("Qt7PQQQQR R R R R R R R R R R R R R R R R Rs#   AAABB	B		page.htmlc                    ||d<   |                      ||           |s/t          j        | j        t	          |          | j        z             }| j                            d||||           t          |          D ]%}t          ||         t          j                  r||= &t          t          j        |                     |                     ||           |                    d          ryt          j        | j        dt	          |d                             }t          t          j        |                     t!          | j                            |          |           d S d S )Ncurrent_page_namezhtml-page-context
sourcename_sources)add_sidebarsr   joinoutdirr   
out_suffixappemitlist
isinstancetypesFunctionTyper   dirnamer@   getr   envdoc2path)r'   pagenamectxtemplatenameoutfilename	event_argkeysource_names           r(   handle_pagez"SerializingHTMLBuilder.handle_pageS   sc    $, (C((( 	I)DK$+H$5$5$GI IK
 	)8\3	RRR 99 	 	C#c(E$677 H$,{++,,,#{+++ 77<   	?)DK$+C,=$>$>@ @Kdl;//000TX&&x00+>>>>>		? 	?r*   c                    t          j        | j        | j                  }|                     | j        |           t                                                       t          t          j        | j	        t                    t          j        | j        t                               t          t          j        | j        t                    d                                           d S )Nr4   )r   rG   rH   globalcontext_filenamer@   globalcontextsuperhandle_finishr   
doctreedirr   r8   LAST_BUILD_FILENAMEclose)r'   rW   	__class__s     r(   r`   z$SerializingHTMLBuilder.handle_finishq   s     iT-HII$,k::: 	 	4?,?@@4;(;<<	> 	> 	>
 	TYt{$788#>>DDFFFFFr*   )N)rA   NN)__name__
__module____qualname____doc__r9   r7   r;   r]   supported_image_typesr)   r2   r@   r[   r`   __classcell__)rd   s   @r(   r   r   #   s          N#(  "8 8 8F F F   R R R 7B04? ? ? ?<G G G G G G G G Gr*   r   c                   X    e Zd ZdZdZ ed          ZeZdZ	ej
        fZeZdZdZdZdZdS )	PickleHTMLBuilderzD
    A Builder that dumps the generated HTML into pickle files.
    picklez3You can now process the pickle files in %(outdir)s.Fz.fpicklezglobalcontext.picklezsearchindex.pickleN)re   rf   rg   rh   name__epilogrm   r9   r7   HIGHEST_PROTOCOLr;   indexer_formatindexer_dumps_unicoderI   r]   searchindex_filenamer   r*   r(   rl   rl      sd          DREFFFN#( "35N!J3/r*   rl   c                   H    e Zd ZdZdZ ed          ZeZdZ	eZ
dZdZdZdZdS )	JSONHTMLBuilderzB
    A builder that dumps the generated HTML into JSON files.
    jsonz1You can now process the JSON files in %(outdir)s.Tz.fjsonzglobalcontext.jsonzsearchindex.jsonN)re   rf   rg   rh   rn   ro   rp   r   r9   r7   rr   rs   rI   r]   rt   r   r*   r(   rv   rv      sX          DRCDDFN#' N J1-r*   rv   rJ   returnc                    |                      d           |                     t                     |                     t                     |                     t
          t          j        t          d                     t          dddS )Nzsphinx.builders.htmllocalesT)versionparallel_read_safeparallel_write_safe)
setup_extensionadd_builderrv   rl   add_message_catalogre   r   rG   package_dirr   )rJ   s    r(   setupr      sx    .///OOO$$$OO%&&&HdiY&G&GHHH "#  r*   )&rh   rm   rN   osr   typingr   r   sphinx.applicationr   r   sphinx.builders.htmlr   r	   sphinx.localer
   sphinx.util.osutilr   r   r   r   sphinxcontrib.serializinghtmlr   %sphinxcontrib.serializinghtml.versionr   r   abspathrP   __file__r   re   ro   rb   r   rl   rv   strr   r   r*   r(   <module>r      s                    : : : : : : : : A A A A A A A A ) ) ) ) ) ) @ @ @ @ @ @ @ @ @ @ @ @ 2 2 2 2 2 2 = = = = = =( dl<4<1122_Xy)) # ^G ^G ^G ^G ^G2 ^G ^G ^GB0 0 0 0 0. 0 0 0". . . . ., . . . 
v 
$sCx. 
 
 
 
 
 
r*   