
    8 f4                    8    d dl mZ d dlmZ  G d d          ZdS )    )annotations)Anyc                  `    e Zd ZdZdddd
ZddZddZedd            ZddZ	ddZ
ddZdS )
LiveServerzThe liveserver fixture

    This is the object that the ``live_server`` fixture returns.
    The ``live_server`` fixture handles creation and stopping.
    T)startaddrstrr   boolreturnNonec                  ddl m} ddlm} ddlm} i }i }|                                D ]+}|j        dk    r|                                r
|||j	        <   ,||d<   ddl
m}	 d|	j        v rdd	lm}
 |
|d
<   nddlm} ||d
<   	 |                    d          \  }}t#          |          |d<   n# t$          $ r |}Y nw xY w ||fi || _         |d|i          | _        d| j        _        |r|                                  d S d S )Nr   )connections)LiveServerThread)modify_settingssqliteconnections_override)settingszdjango.contrib.staticfiles)StaticFilesHandlerstatic_handler)_StaticFilesHandler:portappend)ALLOWED_HOSTST)	django.dbr   django.test.testcasesr   django.test.utilsr   allvendoris_in_memory_dbaliasdjango.confr   INSTALLED_APPS#django.contrib.staticfiles.handlersr   r   splitint
ValueErrorthread_live_server_modified_settingsdaemonr   )selfr   r   r   r   r   liveserver_kwargsr   connr   r   r   hostr   s                 V/var/www/equiseq/venv/lib/python3.11/site-packages/pytest_django/live_server_helper.py__init__zLiveServer.__init__   s   ))))))::::::555555,.!OO%% 	8 	8D {h&&4+?+?+A+A&37$TZ04H01(((((('8+BBBNNNNNN2D.//AAAAAA2E./	2CJD$ ),D		f%%  	 	 	DDD	 '&tAA/@AA.=o#T*/
 /
 /
+ " 	JJLLLLL	 	s   B. .B=<B=c                :   | j         j                                        D ]}|                                 | j                                          | j         j                                         | j         j        r"| j         j        }|                                  |dS )zStart the serverN)	r(   r   valuesinc_thread_sharingr   is_readywaiterrorstop)r+   r-   r6   s      r/   r   zLiveServer.start:   s    K4;;== 	& 	&D##%%%%!!###; 	K%EIIKKKK	 	    c                    | j                                          | j         j                                        D ]}|                                 dS )zStop the serverN)r(   	terminater   r2   dec_thread_sharing)r+   r-   s     r/   r7   zLiveServer.stopH   sW     	K4;;== 	& 	&D##%%%%	& 	&r8   c                :    d| j         j         d| j         j         S )Nzhttp://r   )r(   r.   r   r+   s    r/   urlzLiveServer.urlP   s"    >)>>DK,<>>>r8   c                    | j         S Nr>   r=   s    r/   __str__zLiveServer.__str__T   s	    xr8   c                    |  | S r@    )r+   others     r/   __add__zLiveServer.__add__W   s    r8   c                    d| j          dS )Nz<LiveServer listening at >rA   r=   s    r/   __repr__zLiveServer.__repr__Z   s    6486666r8   N)r   r	   r   r
   r   r   )r   r   )r   r	   )__name__
__module____qualname____doc__r0   r   r7   propertyr>   rB   rF   rI   rD   r8   r/   r   r      s          48 + + + + + +Z   & & & & ? ? ? X?          7 7 7 7 7 7r8   r   N)
__future__r   typingr   r   rD   r8   r/   <module>rQ      se    " " " " " "      U7 U7 U7 U7 U7 U7 U7 U7 U7 U7r8   