
    O&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mZ ddlZddl	m
Z
 ddlmZmZmZmZ ddlmZmZ g dZ G d	 d
          Zdee         defdZdS )a  sphinx-build -M command-line handling.

This replaces the old, platform-dependent and once-generated content
of Makefile / make.bat.

This is in its own module so that importing it is fast.  It should not
import the main Sphinx modules (like sphinx.applications, sphinx.builders).
    N)path)ListOptional)
build_main)blueboldcolor_terminalnocolor)cdrmtree)) htmlzto make standalone HTML files)r   dirhtmlz2to make HTML files named index.html in directories)r   
singlehtmlz to make a single large HTML file)r   picklezto make pickle files)r   jsonzto make JSON files)r   htmlhelpz+to make HTML files and an HTML help project)r   qthelpz'to make HTML files and a qthelp project)r   devhelpz(to make HTML files and a Devhelp project)r   epubzto make an epub)r   latexz9to make LaTeX files, you can set PAPER=a4 or PAPER=letter)posixlatexpdfz.to make LaTeX and PDF files (default pdflatex))r   
latexpdfjaz8to make LaTeX files and run them through platex/dvipdfmx)r   textzto make text files)r   manzto make manual pages)r   texinfozto make Texinfo files)r   infoz3to make Texinfo files and run them through makeinfo)r   gettextzto make PO message catalogs)r   changesz9to make an overview of all changed/added/deprecated items)r   xmlz!to make Docutils-native XML files)r   	pseudoxmlz0to make pseudoxml-XML files for display purposes)r   	linkcheckz)to check all external links for integrity)r   doctestz>to run all doctests embedded in the documentation (if enabled))r   coveragez7to run coverage check of the documentation (if enabled))r   cleanz+to remove everything in the build directoryc                       e Zd Zdededee         ddfdZdedefdZdefd	Zdd
Z	defdZ
defdZdefdZdefdZddedee         defdZdS )MakesrcdirbuilddiroptsreturnNc                 z    || _         || _        || _        t          j                            dd          | _        d S )NMAKEmake)r)   r*   r+   osenvirongetmakecmd)selfr)   r*   r+   s       a/home/geonatureadmin/si_en_reseau/tutos/venv/lib/python3.11/site-packages/sphinx/cmd/make_mode.py__init__zMake.__init__3   s2     	z~~ff55    compsc                 0    t          j        | j        g|R  S N)r   joinr*   )r4   r8   s     r5   builddir_joinzMake.builddir_join9   s    y/////r7   c                 R   t          j        | j                  }t          j        | j                  }t          j        | j                  sdS t          j        | j                  st          d| j        z             dS ||k    rt          d| j        z             dS t          j        ||g          |k    rt          d| j        z             dS t          d| j        z             t          j	        | j                  D ]$}t          |                     |                     %dS )Nr   zError: %r is not a directory!   z&Error: %r is same as source directory!z.Error: %r directory contains source directory!zRemoving everything under %r...)r   abspathr)   r*   existsisdirprint
commonpathr0   listdirr   r<   )r4   r)   r*   items       r5   build_cleanzMake.build_clean<   s   dk**<..{4=)) 
	1DM** 	1DMABBB1x:T]JKKK1_fh/00H<<BT]RSSS1/$-?@@@Jt}-- 	- 	-D4%%d++,,,,qr7   c           	         t                      st                       t          t          dt          j        z                       t          dt          d          fdz  z             t          D ]M\  }}}|rt          j	        |k    r5t          dt          |
                    d                    d|           Nd S )Nz
Sphinx v%sz'Please use `make %s' where %s is one oftarget   z  
   )r	   r
   rB   r   sphinx__display_version__r   BUILDERSr0   nameljust)r4   osnamebnamedescriptions       r5   
build_helpzMake.build_helpO   s     	IIId<&"<<==>>>7DNN;Lq;PQRRR*2 	I 	I&FE; IRW..DR$9$9$9$9;;GHHH	I 	Ir7   c                    |                      d          dk    rdS t          j        dk    r!t          j                            dd          }n| j        }	 t          |                     d                    5  t          j
        |dg          cd d d            S # 1 swxY w Y   d S # t          $ r t          d|z             Y dS w xY w	Nr   r   r>   win32r.   zmake.batzall-pdfError: Failed to run: %srun_generic_buildsysplatformr0   r1   r2   r3   r   r<   
subprocesscallOSErrorrB   r4   r3   s     r5   build_latexpdfzMake.build_latexpdfY      !!'**Q..1<7""jnnVZ88GGlG	D&&w//00 = =!';<<= = = = = = = = = = = = = = = = = = 	 	 	,w677711	6   "B' 7BB' BB' !B"B' 'CCc                    |                      d          dk    rdS t          j        dk    r!t          j                            dd          }n| j        }	 t          |                     d                    5  t          j
        |dg          cd d d            S # 1 swxY w Y   d S # t          $ r t          d|z             Y dS w xY wrU   rX   r_   s     r5   build_latexpdfjazMake.build_latexpdfjah   ra   rb   c                 8   |                      d          dk    rdS 	 t          |                     d                    5  t          j        | j        dg          cd d d            S # 1 swxY w Y   d S # t          $ r t          d| j        z             Y dS w xY w)Nr   r   r>   r   rW   )rY   r   r<   r\   r]   r3   r^   rB   )r4   s    r5   
build_infozMake.build_infow   s    !!),,q001	D&&y1122 ? ?!f'=>>? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 	 	 	,t|;<<<11	s4   "A4 A'A4 'A++A4 .A+/A4 4!BBc                 l    |                      dd          }|                     d|          dk    rdS dS )Nr   z	.doctrees)
doctreedirr   r>   )r<   rY   )r4   dtdirs     r5   build_gettextzMake.build_gettext   s?    ""9k::!!)!>>BB1qr7   builderrh   c                    t          j        dd          }| j        }|dv r|                    dd|z   dz   g           ||                     d          }d|d	|| j        |                     |          g}t          ||z             S )
NPAPERr   )a4letterz-Dzlatex_elements.papersize=paperdoctreesz-bz-d)r0   getenvr+   extendr<   r)   r   )r4   rk   rh   	papersizer+   argss         r5   rY   zMake.run_generic_build   s    Igr**	y(((KK:YFPQRRR++J77Jgj""7++- $+&&&r7   )r,   Nr:   )__name__
__module____qualname__strr   r6   r<   intrF   rS   r`   rd   rf   rj   r   rY    r7   r5   r(   r(   2   s<       6s 6c 6c 6t 6 6 6 60C 0C 0 0 0 0S    &I I I I    #    C    s    ' ' '(3- 'SV ' ' ' ' ' 'r7   r(   ru   r,   c                 H   t          |           dk     rt          dt          j                   dS t	          | d         | d         | dd                    }d| d         z   }t          ||          r t          ||                      S |                    | d                   S )N   zJError: at least 3 arguments (builder, source dir, build dir) are required.)filer>   rI   build_r   )lenrB   rZ   stderrr(   hasattrgetattrrY   )ru   r/   
run_methods      r5   run_make_moder      s    
4yy1}} .47J	@ 	@ 	@ 	@qQa$qrr(++DDG#JtZ   +(wtZ((***!!$q'***r7   )__doc__r0   r\   rZ   r   typingr   r   rK   sphinx.cmd.buildr   sphinx.util.consoler   r   r	   r
   sphinx.util.osutilr   r   rM   r(   ry   rz   r   r{   r7   r5   <module>r      s"    
			     



       ! ! ! ! ! ! ! !  ' ' ' ' ' ' C C C C C C C C C C C C ) ) ) ) ) ) ) )  :b' b' b' b' b' b' b' b'J	+S	 	+c 	+ 	+ 	+ 	+ 	+ 	+r7   