
    !	                     `    d Z ddlmZ ddlmZ ddlmZ ddlZddlmZ ddlmZ g dZ	d	gZ
d
 Zy)z2Decide whether launching a browser is a good idea.    )absolute_import)division)unicode_literalsN)encoding)	platforms)DISPLAYWAYLAND_DISPLAY
MIR_SOCKETzwww-browserc                 P   ddl }| }|rt        j                  j                         }|t        j                  j                  u rt        d t        D              sd}	 |j                         }t        |d      r|j                  t        v rd}|S |S # |j                  $ r d}Y |S w xY w)a)  Determines if a browser can be launched.

  Args:
    attempt_launch_browser: bool, True to launch a browser if it's possible in
      the user's environment; False to not even try.

  Returns:
    True if the tool should actually launch a browser, based on user preference
    and environment.
  r   Nc              3   d   K   | ](  }t        j                  t        j                  |       * y w)N)r   GetEncodedValueosenviron).0vars     4lib/googlecloudsdk/command_lib/util/check_browser.py	<genexpr>z&ShouldLaunchBrowser.<locals>.<genexpr>:   s*      '% ?B((S9%s   .0Fname)
webbrowserr   OperatingSystemCurrentLINUXany_DISPLAY_VARIABLESgethasattrr   _WEBBROWSER_NAMES_BLOCKLISTError)attempt_launch_browserr   launch_browser
current_osbrowsers        r   ShouldLaunchBrowserr#   '   s      *.**224Ji//555 '%' 'n g
'6
"ll99 
  n	s   0B B%$B%)__doc__
__future__r   r   r   r   googlecloudsdk.core.utilr   r   r   r   r#        r   <module>r)      s7     9 &  ' 	 - .
 B 
  
r(   