o
    US`c
                     @   s6   d dl mZ d dlmZmZ dZG dd dejZdS )    )List)serviceutilsZgeckodriverc                       s`   e Zd ZdZeddddfdededee ded	ef
 fd
dZ	dee fddZ
dd Z  ZS )ServicezEObject that manages the starting and stopping of the
    GeckoDriver.r   Nzgeckodriver.logexecutable_pathportservice_argslog_pathenvc                    s   |r	t |dddnd}t j||||d |pg | _d| jvr/| jd | jdt   | jd	 | jd| j  dS )
a  Creates a new instance of the GeckoDriver remote service proxy.

        GeckoDriver provides a HTTP interface speaking the W3C WebDriver
        protocol to Marionette.

        :param executable_path: Path to the GeckoDriver binary.
        :param port: Run the remote service on a specified port.
            Defaults to 0, which binds to a random open port of the
            system's choosing.
        :param service_args: Optional list of arguments to pass to the
            GeckoDriver binary.
        :param log_path: Optional path for the GeckoDriver to log to.
            Defaults to _geckodriver.log_ in the current working directory.
        :param env: Optional dictionary of output variables to expose
            in the services' environment.

        za+zutf-8)encodingN)r   log_filer
   z--connect-existingz--websocket-portz%dz--port)opensuper__init__r   appendr   Z	free_portr   )selfr   r   r   r	   r
   r   	__class__ M/usr/local/lib/python3.10/dist-packages/selenium/webdriver/firefox/service.pyr      s   

zService.__init__returnc                 C   s   | j S N)r   r   r   r   r   command_line_args?   s   zService.command_line_argsc                 C   s   d S r   r   r   r   r   r   send_remote_shutdown_commandB   s   z$Service.send_remote_shutdown_command)__name__
__module____qualname____doc__DEFAULT_EXECUTABLE_PATHstrintr   dictr   r   r   __classcell__r   r   r   r   r      s     "r   N)typingr   Zselenium.webdriver.commonr   r   r   r   r   r   r   r   <module>   s   