U
    Pf	                     @   s*   d dl Z d dlmZ G dd dejZdS )    N)servicec                       s   e Zd ZdZdeeejeje  ejej	eef  dd fddZ
ej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  ZS )Servicea0  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`.
    Nr   F)executable_pathportservice_argsenvreturnc                    s.   |pg | _ || _t jf |||d| d S )N)r   r   r   )r   reuse_servicesuper__init__)selfr   r   r   r   r	   kwargs	__class__ E/tmp/pip-unpacked-wheel-ds5t_0qj/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_args4   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_url7   s    zService.service_urlc                 C   s   | j S )N)_reuse_servicer   r   r   r   r	   <   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	   @   s    
)Nr   NNF)__name__
__module____qualname____doc__strinttypingOptionalListMappingr   r   propertyr   r   r	   setter__classcell__r   r   r   r   r      s(        r   )r    Zselenium.webdriver.commonr   r   r   r   r   r   <module>   s   