o
    dc                     @   s,   d dl mZ d dlmZ G dd deZdS )    )Driver)logc                       s`   e Zd Z fddZdefddZdefddZedd	 Zd
d Z	dd Z
 fddZ  ZS )OperaDriverc                    s$   t t| |||||| || _d S N)superr   __init__opera_release_tag)selfnameversionos_typeurllatest_release_urlr   http_client	__class__ J/usr/local/lib/python3.10/dist-packages/webdriver_manager/drivers/opera.pyr      s   
	
zOperaDriver.__init__returnc                 C   s(   | j j| j| jd}| d | _| jS )Nr   headerstag_name)_http_clientgetr   auth_headerjson_version)r	   respr   r   r   get_latest_release_version   s   z&OperaDriver.get_latest_release_versionc                    sl   |   }td|  | jj| || jd}| d }d|  | 	   fdd|D }|d d S )	Nz&Getting latest opera release info for r   assetsz{0}_{1}c                    s   g | ]}|d    r|qS r
   )
startswith).0assetr    r   r   
<listcomp>&   s
    z'OperaDriver.get_url.<locals>.<listcomp>r   browser_download_url)
get_versionr   r   r   tagged_release_urlr   r   formatget_nameget_os_type)r	   r   r   r   output_dictr   r    r   get_url   s   
zOperaDriver.get_urlc                 C   s   | j S r   )_latest_release_urlr	   r   r   r   r   *   s   zOperaDriver.latest_release_urlc                 C   s   | j |S r   )r   r(   )r	   r   r   r   r   r'   .   s   zOperaDriver.tagged_release_urlc                 C   s   dS )Noperar   r.   r   r   r   get_browser_type1   s   zOperaDriver.get_browser_typec                    s   zt   W S    Y dS )Nlatest)r   get_browser_versionr.   r   r   r   r2   4   s   zOperaDriver.get_browser_version)__name__
__module____qualname__r   strr   r,   propertyr   r'   r0   r2   __classcell__r   r   r   r   r      s    
r   N)webdriver_manager.core.driverr   webdriver_manager.core.loggerr   r   r   r   r   r   <module>   s    