
    >fh                         U d dl Z d dlZd dlmZmZ d dlmZ d dlmZ  e j                  d      Z
eed<    G d dej                        Zy)	    N)MappingSequence)Optional)serviceWebKitWebDriverDEFAULT_EXECUTABLE_PATHc                        e Zd ZdZedddddfdededee   dee   deee      d	ee	eef      d
df fdZ
d
ee   fdZed
ee   fd       Zej                  dee   fd       Z xZS )Servicea  A Service class that is responsible for the starting and stopping of
    `WebKitWebDriver`.

    :param executable_path: install path of the WebKitWebDriver executable, defaults to the first
        `WebKitWebDriver` in `$PATH`.
    :param port: Port for the service to run on, defaults to 0 where the operating system will decide.
    :param service_args: (Optional) Sequence of args to be passed to the subprocess when launching the executable.
    :param log_output: (Optional) File path for the file to be opened and passed as the subprocess
        stdout/stderr handler.
    :param env: (Optional) Mapping of environment variables for the new process, defaults to `os.environ`.
    r   Nexecutable_pathportlog_path
log_outputservice_argsenvreturnc                     t        |xs g       | _        |(t        j                  dt        d       t        |d      }|rt        |d      nd }t        |   d|||xs ||d| y )Nz.log_path is deprecated, use log_output instead   )
stacklevelwb)r   r   r   r    )list_service_argswarningswarnDeprecationWarningopensuper__init__)	selfr   r   r   r   r   r   kwargs	__class__s	           W/var/www/zara/venv/lib/python3.12/site-packages/selenium/webdriver/webkitgtk/service.pyr   zService.__init__)   sy     ","4"5MMJL^klmHd+H/9T*d+t
 	
+-:		

 	
    c                 :    d| j                    g| j                  z   S )Nz-p)r   r   r   s    r"   command_line_argszService.command_line_argsA   s    %(:(:::r#   c                     | j                   S )N)r   r%   s    r"   r   zService.service_argsD   s    !!!r#   valuec                 z    t        |t              st        |t              st        d      t	        |      | _        y )Nzservice_args must be a sequence)
isinstancestrr   	TypeErrorr   r   )r   r(   s     r"   r   zService.service_argsH   s-    eS!E8)D=>>!%[r#   )__name__
__module____qualname____doc__r   r+   intr   r   r   r   r   r&   propertyr   setter__classcell__)r!   s   @r"   r
   r
      s    
  7"&$(04+/

 
 3-	

 SM
 x}-
 gc3h'(
 

0;49 ; "hsm " " )(3- ) )r#   r
   )shutilr   collections.abcr   r   typingr   selenium.webdriver.commonr   whichr   r+   __annotations__r
   r   r#   r"   <module>r;      s=   $   -  -+v||,=>  >0)goo 0)r#   