
    *f                     b    d dl mZmZmZmZ d dlmZ d dlmZ d dl	m
Z
 ee
edZ G d de      Zy)	    )DictListOptionalTuple)XephyrDisplay)XvfbDisplay)XvncDisplay)xvfbxvncxephyrc                       e Zd ZdZdddddddg df	d	ee   d
edeeef   dedededede	e   defdZ
ddZddZd Zd ZdefdZedefd       Zedefd       Zedefd       Zdeeef   fdZy)Displaya  
    Proxy class

    :param color_depth: [8, 16, 24, 32]
    :param size: screen size (width,height)
    :param bgcolor: background color ['black' or 'white']
    :param visible: True -> Xephyr, False -> Xvfb
    :param backend: 'xvfb', 'xvnc' or 'xephyr', ignores ``visible``
    :param xauth: If a Xauthority file should be created.
    :param manage_global_env: if True then $DISPLAY is set in os.environ
        which is not thread-safe. Use False to make it thread-safe.
    NF)i   i      black
   Tbackendvisiblesizecolor_depthbgcolor	use_xauthretries
extra_argsmanage_global_envc
                 4   || _         || _        || _        || _        || _        | j                  s| j                  rd| _        nd| _        t
        j                  | j                        }|st        d| j                  z         |d|||||||	d|
| _        y )Nr   r
   zunknown backend: %s)r   r   r   r   r   r   r    )	_color_depth_size_bgcolor_visible_backend
_class_mapget
ValueError_obj)selfr   r   r   r   r   r   r   r   r   kwargsclss               U/var/www/html/flask-app/venv/lib/python3.12/site-packages/pyvirtualdisplay/display.py__init__zDisplay.__init__   s     (
}}}} ( &nnT]]+2T]]BCC 

#!/

 

	    returnc                 :    | j                   j                          | S )z5
        start display

        :rtype: self
        )r%   startr&   s    r)   r.   zDisplay.startB   s     			r+   c                 :    | j                   j                          | S )z4
        stop display

        :rtype: self
        )r%   stopr/   s    r)   r1   zDisplay.stopK   s     			r+   c                 &    | j                          | S )%used by the :keyword:`with` statement)r.   r/   s    r)   	__enter__zDisplay.__enter__T   s    

r+   c                 $    | j                          y)r3   N)r1   )r&   exc_infos     r)   __exit__zDisplay.__exit__Y   s    		r+   c                 6    | j                   j                         S )N)r%   is_aliver/   s    r)   r9   zDisplay.is_alive]   s    yy!!##r+   c                 .    | j                   j                  S )zI
        PID (:attr:`subprocess.Popen.pid`)

        :rtype: int
        )r%   pidr/   s    r)   r;   zDisplay.pidd   s     yy}}r+   c                 .    | j                   j                  S )z=The new $DISPLAY variable as int.  Example 1 if $DISPLAY=':1')r%   displayr/   s    r)   r=   zDisplay.displaym   s     yy   r+   c                 .    | j                   j                  S )z#The new $DISPLAY variable like ':1')r%   new_display_varr/   s    r)   r?   zDisplay.new_display_varr   s     yy(((r+   c                 6    | j                   j                         S )z<env() copies global os.environ and adds disp.new_display_var)r%   _envr/   s    r)   envzDisplay.envw   s    yy~~r+   )r,   r   )__name__
__module____qualname____doc__r   strboolr   intr   r*   r.   r1   r4   r7   r9   propertyr;   r=   r?   r   rB   r   r+   r)   r   r   
   s    "& + ""&(
#(
 (
 CHo	(

 (
 (
 (
 (
 I(
  (
T
$$ $ S   ! ! ! ) ) ) T#s(^  r+   r   N)typingr   r   r   r   pyvirtualdisplay.xephyrr   pyvirtualdisplay.xvfbr   pyvirtualdisplay.xvncr	   r"   objectr   r   r+   r)   <module>rP      s.    . . 1 - -!;-P
o f o r+   