
    $)f	                     B    d dl Z d dlmZ  G d dej                        Zy)    N)servicec                   0    e Zd ZdZ	 	 	 	 	 ddededej                  ej                  e      dej                  ej                  eef      ddf
 fdZ
dej                  e   fd	Zedefd
       Zedefd       Zej                   deddfd       Z xZS )Servicea0  A Service class that is responsible for the starting and stopping of
    `safaridriver`  This is only supported on MAC OSX.

    :param executable_path: install path of the safaridriver executable, defaults to `/usr/bin/safaridriver`.
    :param port: Port for the service to run on, defaults to 0 where the operating system will decide.
    :param service_args: (Optional) List of args to be passed to the subprocess when launching the executable.
    :param env: (Optional) Mapping of environment variables for the new process, defaults to `os.environ`.
    Nexecutable_pathportservice_argsenvreturnc                 P    |xs g | _         || _        t        |   d|||d| y )N)r   r   r	    )r   reuse_servicesuper__init__)selfr   r   r   r	   r   kwargs	__class__s          ^/var/www/html/flask-app/venv/lib/python3.12/site-packages/selenium/webdriver/safari/service.pyr   zService.__init__!   s?     ).B* 	
+	
 		
    c                 :    d| j                    g| j                  z   S )Nz-p)r   r   r   s    r   command_line_argszService.command_line_args4   s    %(9(999r   c                      d| j                    S )z)Gets the url of the SafariDriver Service.zhttp://localhost:)r   r   s    r   service_urlzService.service_url7   s     #499+..r   c                     | j                   S )N)_reuse_servicer   s    r   r   zService.reuse_service<   s    """r   reusec                 H    t        |t              st        d      || _        y )Nzreuse must be a boolean)
isinstancebool	TypeErrorr   )r   r   s     r   r   zService.reuse_service@   s     %&566#r   )Nr   NNF)__name__
__module____qualname____doc__strinttypingOptionalListMappingr   r   propertyr   r   r   setter__classcell__)r   s   @r   r   r      s      $:>9=

 
 oofkk#&67	

 __V^^CH56
 

&:6;;s#3 : /S / / #t # # $4 $D $ $r   r   )r'   selenium.webdriver.commonr   r   r   r   r   <module>r/      s   $  --$goo -$r   