
    $gJ                        d dl mZ d dlZd dlZd dlZd dlmZ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mZ e
rd d	lmZ  ej        e          Zdd
ddg fddddZdS )    )annotationsN)isdirisfilejoin)TYPE_CHECKING)urlsplit)build)load_config)LiveReloadServer
_serve_url)MkDocsConfigTFopen_in_browserconfig_file
str | None
livereloadbool
build_typewatch_themewatch	list[str]r   returnNonec                   t          j        d           fd|dk    |dk                 }|j                            rdnd           |j        \  }}	t          |j        pd	          j        }
t          ||	|
          x|_        ddfd}t          |||	|
          }dfd}||_
        	  ||           |r|                    |j                   |j        r|                    |j                   |r$|j        j        D ]}|                    |           |j                            |||          }|j        D ]}|                    |           	 |                    |           n*# t$          $ r t&                              d           Y nw xY w|                                 n# |                                 w xY w	 |j                                         t/                    rt1          j                   d
S d
S # |j                                         t/                    rt1          j                   w w xY w)z
    Start the MkDocs development server.

    By default it will serve the documentation on http://localhost:8000/ and
    it will rebuild the documentation and refresh the page automatically
    whenever a file is edited.
    mkdocs_)prefixc                 Z    t          dd} | j                                       | S )N)r   site_dir )r
   r   extend)configr   kwargsr   r   s    U/var/www/html/netbox-4.1.3/venv/lib/python3.11/site-packages/mkdocs/commands/serve.py
get_configzserve.<locals>.get_config*   sI     
#
 
 
 

 	E"""    cleandirtyr	   serve)commandr'   /Nr!   MkDocsConfig | Nonec                    t                               d           |              } | _        t          | rd n           d S )NzBuilding documentation...)	serve_urlr'   )loginfosite_urlr	   )r!   r$   is_cleanis_dirtyr-   s    r#   builderzserve.<locals>.builder=   sQ    ,--->Z\\F'FOf ?ixPPPPPPr%   )r3   hostportroot
mount_pathr   bytes | Nonec                    | dv r^t          |  d          }t          |          r<t          |d          5 }|                                cd d d            S # 1 swxY w Y   d S )N)i  i  z.htmlrb)r   r   openread)code
error_pagefr   s      r#   error_handlerzserve.<locals>.error_handlerI   s    :h477Jj!! $*d++ $q6688$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ts   AA A)r!   r3   r   zShutting down...)N)r!   r+   )r   r8   )tempfilemkdtempplugins
on_startupdev_addrr   r0   pathr   r   r@   r   docs_dirconfig_file_paththemedirson_server(   KeyboardInterruptr.   r/   shutdownon_shutdownr   shutilrmtree)r   r   r   r   r   r   r"   r!   r4   r5   r7   r3   serverr@   ditemr$   r1   r2   r-   r   s   `   ` `         @@@@@r#   r(   r(      s   ( y111H        W$HW$HZ\\F
N('GwwPXYYYJD$&/0S116J",T4"D"DDFOiQ Q Q Q Q Q Q Q Q Q dH  F      )F$ 	#LL)))& 6V4555 $* $ $ALLOOOO ^,,VFG,TTF # #T""""	LLL9999  	) 	) 	)HH'(((((	) OOFOO""$$$?? 	$M(#####	$ 	$ 	""$$$?? 	$M(####	$sC   B*H  0F G $F.+G -F..G 1H  GH   ?I)r   r   r   r   r   r   r   r   r   r   r   r   r   r   )
__future__r   loggingrO   rA   os.pathr   r   r   typingr   urllib.parser   mkdocs.commands.buildr	   mkdocs.configr
   mkdocs.livereloadr   r   mkdocs.config.defaultsr   	getLogger__name__r.   r(   r   r%   r#   <module>r_      s(   " " " " " "    ' ' ' ' ' ' ' ' ' '             ! ! ! ! ! ! ' ' ' ' ' ' % % % % % % : : : : : : : : 4333333g!! #!\$ "\$ \$ \$ \$ \$ \$ \$ \$r%   