a
    &h                     @   s>   d dl mZmZ d dlmZ d dlmZ G dd dejZdS )    )MappingSequence)Optional)servicec                	       s   e Zd ZdZdee eeee  eeeef  e	ee dd fddZ
ee dd	d
ZeedddZee	dddZeje	ddddZeee dddZejee dddZ  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) Sequence 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           	         sL   t |pg | _|pd}|r&| jd || _t jf ||||d| d S )NZSE_SAFARIDRIVERz
--diagnose)r   r   r
   r   )list_service_argsappendreuse_servicesuper__init__)	selfr   r   r	   r
   r   r   r   kwargs	__class__ f/var/www/html/swiplay.fr/scambot/venv/lib/python3.9/site-packages/selenium/webdriver/safari/service.pyr   %   s    zService.__init__)r   c                 C   s   d| j  g| j S )Nz-p)r   r   r   r   r   r   command_line_args?   s    zService.command_line_argsc                 C   s   d| j  S )z)Gets the url of the SafariDriver Service.zhttp://localhost:)r   r   r   r   r   service_urlB   s    zService.service_urlc                 C   s   | j S N)_reuse_servicer   r   r   r   r   G   s    zService.reuse_service)reuser   c                 C   s   t |tstd|| _d S )Nzreuse must be a boolean)
isinstancebool	TypeErrorr   )r   r   r   r   r   r   K   s    
c                 C   s   | j S r   )r   r   r   r   r   r	   Q   s    zService.service_args)valuec                 C   s*   t |tst |tstdt|| _d S )Nzservice_args must be a sequence)r    strr   r"   r   r   )r   r#   r   r   r   r	   U   s    )Nr   NNFFN)__name__
__module____qualname____doc__r   r$   intr   r   r!   r   r   r   propertyr   r   setterr	   __classcell__r   r   r   r   r      s8          
r   N)collections.abcr   r   typingr   Zselenium.webdriver.commonr   r   r   r   r   r   <module>   s   