
    g
                     >    d dl mZ d dlmZ d dlmZ  G d de      Zy)    )log)gh_token)OperationSystemManagerc                   L    e Zd Zd Zed        Zd Zd Zd Zd Z	d Z
d Zd	 Zy
)Driverc                     || _         || _        || _        || _        d | _        || _        || _        | j                  st               | _        y y N)_name_url_latest_release_url_http_client_browser_version_driver_version_to_download_os_system_managerr   )selfnamedriver_version_to_downloadurllatest_release_urlhttp_clientos_system_managers          P/var/www/html/venv/lib/python3.12/site-packages/webdriver_manager/core/driver.py__init__zDriver.__init__   sS     
	#5 ' $+E("3&&&<&>D# '    c                 @    t               }|rt        d       dd| iS y )Nz)GH_TOKEN will be used to perform requestsAuthorizationztoken )r   r   )r   tokens     r   auth_headerzDriver.auth_header   s*    
;<#veW%566r   c                     | j                   S r	   )r
   r   s    r   get_namezDriver.get_name!   s    zzr   c                 b    | j                    d| j                          d| j                   d| dS )N/_z.zip)r   get_driver_version_to_downloadr
   )r   os_types     r   get_driver_download_urlzDriver.get_driver_download_url$   s7    ))AdAACDAdjj\QRSZR[[_``r   c                 R    | j                   r| j                   S | j                         S )a  
        Downloads version from parameter if version not None or "latest".
        Downloads latest, if version is "latest" or browser could not been determined.
        Downloads determined browser version driver in all other ways as a bonus fallback for lazy users.
        )r   get_latest_release_versionr    s    r   r%   z%Driver.get_driver_version_to_download'   s(     ++333..00r   c                     t        d      NzPlease implement this methodNotImplementedErrorr    s    r   r)   z!Driver.get_latest_release_version2   s    !"@AAr   c                     | j                   .| j                  j                  | j                               | _         | j                   S )a  
        Use-cases:
        - for key in metadata;
        - for printing nice logs;
        - for fallback if version was not set at all.
        Note: the fallback may have collisions in user cases when previous browser was not uninstalled properly.
        )r   r   get_browser_version_from_osget_browser_typer    s    r   r/   z"Driver.get_browser_version_from_os6   s?       ($($;$;$W$WX\XmXmXo$pD!$$$r   c                     t        d      r+   r,   r    s    r   r0   zDriver.get_browser_typeB   s    !"@AAr   c                 R    | j                         }|dk(  rdn|}d|v r| d}|S |}|S )N
edgedrivermsedgedriverwinz.exe)r!   )r   r&   driver_namedriver_binary_names       r   get_binary_namezDriver.get_binary_nameE   sT    mmo)\9N{ 	 ,1G+;!"$' 	 "! BT 	 "!r   N)__name__
__module____qualname__r   propertyr   r!   r'   r%   r)   r/   r0   r8    r   r   r   r      sA    ?$  a	1B
%B"r   r   N)webdriver_manager.core.loggerr   webdriver_manager.core.configr   !webdriver_manager.core.os_managerr   objectr   r=   r   r   <module>rB      s    - 2 DG"V G"r   