
    ,i'                     f    d dl mZmZ d dlmZ d dlmZ d dlmZm	Z	  G d dej                        Z
y)    )MappingSequence)Optional)SubprocessStdAlias)serviceutilsc                        e Zd ZdZ	 	 	 	 	 	 ddee   dedeee      dee   dee	eef      dee   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
    `geckodriver`.

    Args:
        executable_path: install path of the geckodriver executable, defaults to `geckodriver`.
        port: Port for the service to run on, defaults to 0 where the operating system will decide.
        service_args: (Optional) Sequence of args to be passed to the subprocess when launching the executable.
        log_output: (Optional) int representation of STDOUT/DEVNULL, any IO instance or String path to file.
        env: (Optional) Mapping of environment variables for the new process, defaults to `os.environ`.
        driver_path_env_key: (Optional) Environment variable to use to get the path to the driver executable.
    Nexecutable_pathportservice_args
log_outputenvdriver_path_env_keyreturnc           	         t        |xs g       | _        |xs d}t        |   d|||||d| d| j                  vrJ| j                  j	                  d       | j                  j	                  t        j                                 y y )NSE_GECKODRIVER)r   r   r   r   r   z--connect-existingz--websocket-port )list_service_argssuper__init__appendr   	free_port)	selfr   r   r   r   r   r   kwargs	__class__s	           q/var/www/system.tvplus.app.br/jogos/scrap/venv/lib/python3.12/site-packages/selenium/webdriver/firefox/service.pyr   zService.__init__&   s     ","4"51E5E 	
+! 3	
 	
  t'9'99%%&89%%):(;= :    c                 :    d| j                    g| j                  z   S )Nz--port)r   r   r   s    r   command_line_argszService.command_line_argsA   s    TYYK)D,>,>>>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   )Nr   NNNN)__name__
__module____qualname____doc__r   r'   intr   r   r   r   r   r"   propertyr   setter__classcell__)r   s   @r   r
   r
      s    
 *.0437+/-1>!#> > x}-	>
 /0> gc3h'(> &c]> 
>6?49 ? "hsm " " )(3- ) )r   r
   N)collections.abcr   r   typingr   selenium.typesr   selenium.webdriver.commonr   r   r
   r   r   r   <module>r5      s#   $ .  - 43)goo 3)r   