File: //opt/saltstack/salt/lib/python3.10/site-packages/cherrypy/__pycache__/daemon.cpython-310.pyc
o
�N�gn � @ sL d Z ddlZddlZddlmZmZ ddlmZ d
dd�Zdd � ZdS )zThe CherryPy daemon.� N)�plugins�servers)�ApplicationFc C s� dgt j t _|p
g D ]}td| � q| pg D ]#} tj�| � ttjj�dkr;tjj� � D ]}
t
|
t�r:|
�| � q.qtj
}|durKtj�d|i� |r\tj�ddi� t�|��� |rft�||��� t|d�rp|j�� t|d �rz|j�� |r�|s�|s�|r�|r�tj�d
d� t �d� n7|s�|s�|r�tj�ddi� tj�� tjj}|r�tjn|r�tjntj}
|
tj|d
�}tj|||d�}|�� z|� � W n t!y� t �d� Y dS w |�"� dS )z2Subscribe all engine plugins and start the engine.� z import %s� N�environmentz
log.screenF�signal_handler�console_control_handlerz?You may only specify one of the cgi, fastcgi, and scgi options.ZENGINEzengine.autoreload.on)ZapplicationZbindAddress)Z
httpserver� bind_addr)#�sys�path�exec�cherrypy�config�update�lenZtreeZapps�values�
isinstancer �merge�enginer Z
DaemonizerZ subscribeZPIDFile�hasattrr r �log�error�exitZserverZunsubscriber
r ZFlupFCGIServerZFlupSCGIServerZ
FlupCGIServerZ
ServerAdapter�start� Exception�block)Zconfigfiles� daemonizer �fastcgi�scgi�pidfile�imports�cgi�i�cZappr �addr�cls�f�s� r) �C/opt/saltstack/salt/lib/python3.10/site-packages/cherrypy/daemon.pyr
sX
�
�
��r c C s ddl m} | � }|jdddddd� |jd d
ddd� |jd
ddddd� |jdd
ddd� |jdd
ddd� |jdd
ddd� |jdddddd� |jd d!d"dd#d� |jd$d%dd&d'd� |�� \}}|jru|jD ] }tj�d|� qkt|j |j
|j|j|j
|j|j|j� dS )(zRun cherryd CLI.r )�OptionParserz-cz--config�appendr zspecify config file(s))�action�dest�helpz-d�
store_truer zrun the server as a daemonz-ez
--environmentr Nz"apply the given config environment)r. �defaultr/ z-fr z9start a fastcgi server instead of the default HTTP serverz-sr z6start a scgi server instead of the default HTTP serverz-xr"