a
    &h                     @   sL   d dl mZ d dlmZ d dlmZ d dlmZ d dlZG dd deZ	dS )    version)Driver)log)
ChromeTypeNc                       sB   e Zd Zejf fdd	Zdd Zdd Zdd Zd	d
 Z	  Z
S )ChromeDriverc                    s$   t t| |||||| || _d S N)superr   __init___browser_type)selfnamedriver_versionurllatest_release_urlhttp_clientos_system_managerchrome_type	__class__ e/var/www/html/swiplay.fr/scambot/venv/lib/python3.9/site-packages/webdriver_manager/drivers/chrome.pyr
      s    

zChromeDriver.__init__c                 C   s   |   }t|tdk r(|dd}t|tdkrr|dkrHd}|dv rTd}| ||}td	|  |S | j d
| d
|   d| dS )Nz106.0.5249.61	mac_arm64mac64_m1115Zmac64zmac-x64)Zmac_64r   r   z	mac-arm64zModern chrome version /_z.zip)get_driver_version_to_downloadr   parsereplace get_url_for_version_and_platformr   _urlget_name)r   os_typedriver_version_to_downloadZmodern_version_urlr   r   r   get_driver_download_url   s    z$ChromeDriver.get_driver_download_urlc                 C   s   | j S r   )r   )r   r   r   r   get_browser_type3   s    zChromeDriver.get_browser_typec                 C   s   |   }td| j d| j  |d urrt|tdkrrd}| j|}t	|j
}|d|d}|S |d urd|dd d }| j d	| }n| j}| jj|d
}|j
 S )NzGet LATEST z version for r   zZhttps://googlechromelabs.github.io/chrome-for-testing/latest-patch-versions-per-build.jsonZbuildsr   .   r   )r   )get_browser_version_from_osr   _namer   r   r   _http_clientgetjsonloadstextjoinsplit_latest_release_urlrstrip)r   Zdetermined_browser_versionr   responseZresponse_dictr   respr   r   r   get_latest_release_version6   s    z'ChromeDriver.get_latest_release_versionc                    s  d}| j |}| }|d }t|tdkrd|dd d   fdd|D }|r|d }td	|d
  d |d d }	|	D ]}
|
d |kr|
d   S qnH|D ]B}|d
 |kr|d d }	|	D ] }
|
d |kr|
d     S qqtd| d| d S )Nz]https://googlechromelabs.github.io/chrome-for-testing/known-good-versions-with-downloads.jsonversionsr   r'   r(   c                    s   g | ]} |d  v r|qS r   r   ).0vZshort_versionr   r   
<listcomp>Q       zAChromeDriver.get_url_for_version_and_platform.<locals>.<listcomp>zWebDriver version r   z	 selected	downloadschromedriverplatformr   zNo such driver version z for )	r+   r,   r-   r   r   r0   r1   r   	Exception)r   browser_versionr@   r   r4   datar7   Zcompatible_versionsZlatest_versionr>   dr9   r   r:   r   r    I   s*    z-ChromeDriver.get_url_for_version_and_platform)__name__
__module____qualname__r   GOOGLEr
   r%   r&   r6   r    __classcell__r   r   r   r   r   	   s   
r   )
Z	packagingr   webdriver_manager.core.driverr   webdriver_manager.core.loggerr   !webdriver_manager.core.os_managerr   r-   r   r   r   r   r   <module>   s
   