o
    dc]                     @   s<   d dl mZ d dlmZ d dlmZmZ G dd deZdS )    )Driver)log)is_arch	is_mac_osc                       sZ   e Zd Z fddZdefddZdd Z fdd	Zed
d Z	dd Z
dd Z  ZS )GeckoDriverc                    s$   t t| |||||| || _d S N)superr   __init___mozila_release_tag)selfnameversionos_typeurllatest_release_urlmozila_release_taghttp_client	__class__ L/usr/local/lib/python3.10/dist-packages/webdriver_manager/drivers/firefox.pyr	      s   


zGeckoDriver.__init__returnc                 C   sH   |   }td| j d| d | jj| j| jd}| d | _| jS )NzGet LATEST z version for z firefoxr   headerstag_name)	get_browser_versionr   _name_http_clientgetr   auth_headerjson_version)r   browser_versionrespr   r   r   get_latest_release_version   s   z&GeckoDriver.get_latest_release_versionc                    sz   t d|    | jj| |  | jd}| d }|   d|   d|   d  fdd|D }|d d	 S )
zhLike https://github.com/mozilla/geckodriver/releases/download/v0.11.1/geckodriver-v0.11.1-linux64.tar.gzz(Getting latest mozilla release info for r   assets-.c                    s   g | ]}|d    r|qS r   )
startswith).0assetr(   r   r   
<listcomp>.   s
    z'GeckoDriver.get_url.<locals>.<listcomp>r   browser_download_url)	r   get_versionr   r   tagged_release_urlr   r    get_nameget_os_type)r   r#   r%   output_dictr   r(   r   get_url%   s   "
zGeckoDriver.get_urlc                    s0   t   }t|s|S d}t|r| dS |S )Nmacosz-aarch64)r   r1   r   r   )r   r   r4   r   r   r   r1   2   s   

zGeckoDriver.get_os_typec                 C   s   | j S r   )_latest_release_urlr   r   r   r   r   <   s   zGeckoDriver.latest_release_urlc                 C   s   | j |S r   )r
   format)r   r   r   r   r   r/   @   s   zGeckoDriver.tagged_release_urlc                 C   s   dS )Nfirefoxr   r6   r   r   r   get_browser_typeC   s   zGeckoDriver.get_browser_type)__name__
__module____qualname__r	   strr$   r3   r1   propertyr   r/   r9   __classcell__r   r   r   r   r      s    


r   N)webdriver_manager.core.driverr   webdriver_manager.core.loggerr   webdriver_manager.core.utilsr   r   r   r   r   r   r   <module>   s    