ó
    z#¶g�  ã                   óŽ   • S SK rS SKrS SKrS SKrS SKrS SKrS SKrS SK	r	S SK
r
SSKJr  SSKJr  S\-   S-   rS
S jrSS jrS	 rg)é    Né   )Ú	NoNetwork)ÚVERSION_NUMBERz
reportbug/z	 (Debian)c                 óœ   • U(       d  [         R                  R                  5       n[        SS.n[        R
                  " XXS9R                  $ )a   
Open an URL and return the content

This is a helper function for :func:`open_url()`.

Parameters
----------
url : str
    The URL to retrieve
proxies : dict
    proxies to use
timeout : int
    request timeout in seconds
data
    unused

Returns
-------
str
    Content of the response
z)gzip;q=1.0, deflate;q=0.9, identity;q=0.5)z
User-AgentzAccept-Encoding)ÚheadersÚproxiesÚtimeout)ÚurllibÚrequestÚ
getproxiesÚUA_STRÚrequestsÚgetÚtext)Úurlr   r	   Údatar   s        Ú4/usr/lib/python3/dist-packages/reportbug/urlutils.pyÚurlopenr   +   s@   € ö, Ü—.‘.×+Ñ+Ó-ˆä#Ø"MñO€Gô �<Š<˜°gÑO×TÑTÐTó    c                 óî  • [         R                  " U5        [        R                  R	                  5       nU(       a  XS'   XS'    [        XU5      nU$ ! [        R                  R                   a  nUR                  S;   a   SnAge SnAf[         R                  [         R                  [        R                  R                  4 a    [        e[         a)  nU(       a  US   S:X  a  US   S:X  a   SnAg[        eSnAf[         a    [        S	[        R                   S
9  [        e["        R$                  R&                   a2  nUR(                  R*                  nSU  SU SU S3n	[        U	5      eSnAff = f)aF  
Open an URL and return the content

Parameters
----------
url : str
    The URL to retrieve
http_proxy : str
    HTTP proxy server URL to use for connection.
    By default, use the :func:`urllib.request.getproxies()` settings.
timeout : int
    connection timeout in seconds

Returns
-------
str
    Content of the response
ÚhttpÚhttps)é”  iô  i÷  Nr   z
http errorr   r   z@http_proxy environment variable must be formatted as a valid URI)ÚfilezFailed to open z (z: Ú))ÚsocketÚsetdefaulttimeoutr
   r   r   r   ÚerrorÚ	HTTPErrorÚcodeÚgaierrorÚURLErrorr   ÚOSErrorÚ	TypeErrorÚprintÚsysÚstderrr   ÚclientÚHTTPExceptionÚ	__class__Ú__name__)
r   Ú
http_proxyr	   r   ÚpageÚxr   ÚexcÚexc_nameÚmessages
             r   Úopen_urlr2   L   s1  € ô* ×Ò˜WÔ%ä�n‰n×'Ñ'Ó)€GÞØ$�‰Ø%�Ñð!Ü�s WÓ-ˆð( €Køô' �<‰<×!Ñ!ó Ø�6‰6�_Ó$ÜàûÜ�O‰OœVŸ\™\¬6¯<©<×+@Ñ+@ÐAó ÜˆÜó Þ�D˜‘G˜|Ó+°°Q±¸3³ÜäˆOûÜó ÜÐPÔWZ×WaÑWaÒbÜˆÜ�;‰;×$Ñ$ó !Ø—=‘=×)Ñ)ˆØ# C 5¨¨8¨*°B°s°e¸1Ð=ˆÜ˜Ó Ð ûð!ús>   ÁA ÁE4Á1BÂBÂAE4ÃC:Ã4C:Ã:AE4Å-E/Å/E4c                 óÞ   • [         R                  " S5      (       d0  S[        R                  " U 5      -   n[         R                  " U5        g[        (       a  [        R
                  " U 5        gg)zp
Launch a web browser to view an URL

Parameters
----------
url : str
    The URL to view

Returns
-------
None
z#command -v xdg-open >/dev/null 2>&1z	xdg-open N)ÚosÚsystemÚshlexÚquoteÚ
webbrowserÚopen)r   Úcmds     r   Úlaunch_browserr;   €   sN   € ô �9Š9Ð:×;Ñ;ØœEŸKšK¨Ó,Ñ,ˆÜ
�	Š	�#ŒØç‚zÜ�Š˜ÔØð r   )Né<   N)Nr<   )Úhttp.clientr   Úurllib.requestr
   Úurllib.errorr   r6   r4   r&   r8   r   Ú
exceptionsr   Ú__init__r   r   r   r2   r;   © r   r   Ú<module>rC      sM   ðó0 Û Û Û Û Û 	Û 
Û Û õõ %à	˜Ñ	&¨Ñ	4€ôUôB1óhr   