
    g                     V    d dl Z d dlZd dlZd dlZd ZdedefdZdedefdZd Zd Z	y)	    Nc                     t         j                   j                  | |      }t         j                   j                  t        |j                  |            |      }||z
  j                  S )N)datetimestrptimestrstrftimedays)date1date2date_formatabs        O/var/www/html/venv/lib/python3.12/site-packages/webdriver_manager/core/utils.pyget_date_diffr      sS    ""5+6A""ENN;'(+	7A E<<    appsreturnc                  p    t        j                  d      dk(  rdnddj                  fd| D              S )zCreate 'browser --version' command from browser app names.

    Result command example:
        chromium --version || chromium-browser --version
    WDM_LOG_LEVEL0z 2>/dev/null z || c              3   ,   K   | ]  }| d    yw)z
 --versionN ).0iignore_errors_cmd_parts     r   	<genexpr>z,linux_browser_apps_to_cmd.<locals>.<genexpr>   s     NA!J'=&>?Ns   )osgetenvjoin)r   r   s    @r   linux_browser_apps_to_cmdr       s;     02yy00 ^%' ;;NNNNr   c                  f    t               }dddj                  fd| D              z   }| d| dS )z9Create analogue of browser --version command for windows.z4$tmp = {expression}; if ($tmp) {{echo $tmp; Exit;}};z+$ErrorActionPreference='silentlycontinue';  c              3   B   K   | ]  }j                  |         yw))
expressionN)format)r   efirst_hit_templates     r   r   z.windows_browser_apps_to_cmd.<locals>.<genexpr>   s'      F45!!Q!/Fs   z -NoProfile "")determine_powershellr   )r   
powershellscriptr'   s      @r   windows_browser_apps_to_cmdr,      sJ    %'JS:SXX F9=F > F \vha00r   c                 R   t        j                  | t         j                  t         j                  t         j                  d      5 }|j	                         d   j                         }t        j                  ||      }|r|j                  d      nd }d d d        |S # 1 sw Y   S xY w)NT)stdoutstdinstderrshellr   )	
subprocessPopenPIPEDEVNULLcommunicatedecoderesearchgroup)cmdpatternstreamr.   versions        r   read_version_from_cmdr?   &   s    			??$$%%
 	8 
##%a(//1))GV,&-'--"4	8 N	8 Ns   ABB&c                     d} t        j                  | t         j                  t         j                  t         j                  d      5 }|j	                         d   j                         }ddd       dk(  rdS dS # 1 sw Y   xY w)zDReturns "True" if runs in Powershell and "False" if another console.z0(dir 2>&1 *`|echo CMD);&<# rem #>echo powershellT)r.   r0   r/   r1   r   Nr*   r   )r2   r3   r4   r5   r6   r7   )r;   r=   r.   s      r   r)   r)   4   s~    
<C			??%%$$
 2 
##%a(//12 <'29\92 2s   "A::B)
r   r   r8   r2   r   r   r    r,   r?   r)   r   r   r   <module>rA      sI     	 	 OS OS O	1s 	1s 	1:r   