
    g                     \    d dl mZ d dl mZ d dl mZ d dlmZ  G d dej                  ZdS )    )List)Mapping)Optional)servicec                        e Zd ZdZ	 	 	 	 	 	 	 ddededeee                  deeeef                  d	e	d
eddf fdZ
de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 )Servicea#  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`.
    :param enable_logging: (Optional) Enable logging of the service. Logs can be located at `~/Library/Logs/com.apple.WebDriver/`
    :param driver_path_env_key: (Optional) Environment variable to use to get the path to the driver executable.
    Nr   Fexecutable_pathportservice_argsenvenable_loggingdriver_path_env_keyreturnc                     |pg | _         |pd}|r| j                             d           || _         t                      j        d||||d| d S )NSE_SAFARIDRIVERz
--diagnose)r	   r
   r   r    )r   appendreuse_servicesuper__init__)
selfr	   r
   r   r   r   r   r   kwargs	__class__s
            m/var/www/html/nodeJS/PythonScripts/venv3.11/lib/python3.11/site-packages/selenium/webdriver/safari/service.pyr   zService.__init__&   s     ).B1F5F 	3$$\222* 	
+ 3		
 	

 	
 	
 	
 	
 	
    c                 &    d| j          g| j        z   S )Nz-p)r
   r   r   s    r   command_line_argszService.command_line_args@   s    n%(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_urlC   s     /49...r   c                     | j         S )N)_reuse_servicer   s    r   r   zService.reuse_serviceH   s    ""r   reusec                 \    t          |t                    st          d          || _        d S )Nzreuse must be a boolean)
isinstancebool	TypeErrorr"   )r   r#   s     r   r   zService.reuse_serviceL   s1    %&& 	75666#r   )Nr   NNFFN)__name__
__module____qualname____doc__strintr   r   r   r&   r   r   propertyr    r   setter__classcell__)r   s   @r   r   r      s]       	 	  $,0+/$#'
 

 
 tCy)	

 gc3h'(
 
 !
 

 
 
 
 
 
4:49 : : : : /S / / / X/ #t # # # X# $4 $D $ $ $ $ $ $ $ $r   r   N)typingr   r   r   selenium.webdriver.commonr   r   r   r   r   <module>r3      s   &                   - - - - - -6$ 6$ 6$ 6$ 6$go 6$ 6$ 6$ 6$ 6$r   