U
    g                     @   sd   d dl Z d dlmZ d dlmZ d dlmZ d dlmZ d dl	m
Z
 d dlmZ G dd	 d	eZdS )
    N)Optional)DownloadManager)DriverCacheManager)DriverManager)OperationSystemManager)GeckoDriverc                
       s\   e Zd Zdee eeeeee ee ee d fddZed	d
dZ	 fddZ
  ZS )GeckoDriverManagerNgeckodriver8https://github.com/mozilla/geckodriver/releases/download@https://api.github.com/repos/mozilla/geckodriver/releases/latestBhttps://api.github.com/repos/mozilla/geckodriver/releases/tags/{0})versionnameurllatest_release_urlmozila_release_tagdownload_managercache_manageros_system_managerc	           	   	      s2   t t| j||d t|||||| j|d| _d S )N)r   r   )Zdriver_versionr   r   r   r   http_clientr   )superr   __init__r   r   driver)	selfr   r   r   r   r   r   r   r   	__class__ =/tmp/pip-unpacked-wheel-xqmqzw3s/webdriver_manager/firefox.pyr      s    
zGeckoDriverManager.__init__)returnc                 C   s   |  | j}t|d |S )Ni  )Z_get_driver_binary_pathr   oschmod)r   Zdriver_pathr   r   r   install&   s    zGeckoDriverManager.installc                    s8   t   }| j|s|S d}| j|r4| dS |S )Nmacosz-aarch64)r   get_os_typeZ_os_system_managerZ	is_mac_osZis_arch)r   Zos_typer"   r   r   r   r#   +   s    

zGeckoDriverManager.get_os_type)Nr	   r
   r   r   NNN)__name__
__module____qualname__r   strr   r   r   r   r!   r#   __classcell__r   r   r   r   r      s(           r   )r   typingr   Z'webdriver_manager.core.download_managerr   Z#webdriver_manager.core.driver_cacher   Zwebdriver_manager.core.managerr   Z!webdriver_manager.core.os_managerr   Z!webdriver_manager.drivers.firefoxr   r   r   r   r   r   <module>   s   