§
    Â&=d�  ã                   óŒ   — d dl Zd dlZd dlZd dlZd dlZd dlZd dlZd dl	Z	d dl
Z
ddlmZ ddlmZ dez   dz   Zdd„Zdd	„Zd
„ ZdS )é    Né   )Ú	NoNetwork)ÚVERSION_NUMBERz
reportbug/z	 (Debian)é<   c                 ó�   — |st           j                             ¦   «         }t          ddœ}t	          j        | |||¬¦  «        j        S )ad  
    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   +   sQ   € ð, ð .Ý”.×+Ò+Ñ-Ô-ˆå#Ø"MðOð O€Gõ Œ<˜ W°gÀwÐOÑOÔOÔTÐTó    c                 óœ  — t          j        |¦  «         t          j                             ¦   «         }|r
||d<   ||d<   	 t          | ||¦  «        }nú# t          j        j        $ r}|j        dv rY d}~dS ‚ d}~wt           j	        t           j        t          j        j
        f$ r t          ‚t          $ r,}|r|d         dk    r|d         dk    rY d}~dS t          ‚d}~wt          $ r# t          d	t          j        ¬
¦  «         t          ‚t"          j        j        $ r,}|j        j        }d| › d|› d|› d�}	t          |	¦  «        ‚d}~ww xY w|S )a‚  
    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_urlr3   L   s–  € õ* Ô˜WÑ%Ô%Ð%åŒn×'Ò'Ñ)Ô)€GØð &Ø$ˆ�‰Ø%ˆ�Ñð!Ý�s˜G WÑ-Ô-ˆˆøÝŒ<Ô!ð ð ð ØŒ6�_Ð$Ð$Ø�4�4�4�4�4àøøøøÝŒO�Vœ\­6¬<Ô+@ÐAð ð ð ÝˆÝð ð ð Øð 	�D˜”G˜|Ò+Ð+°°Q´¸3²°Ø�4�4�4�4�4åˆOøøøøÝð ð ð ÝÐPÕWZÔWaÐbÑbÔbÐbÝˆÝŒ;Ô$ð !ð !ð !Ø”=Ô)ˆØ= CÐ=Ð=¨8Ð=Ð=°sÐ=Ð=Ð=ˆÝ˜Ñ Ô Ð øøøøð!øøøð €Ks=   Á A ÁE	Á&	A6Á5A6Á6>E	Â4CÃCÃAE	Ä'EÅE	c                 óÂ   — t          j        d¦  «        s-dt          j        | ¦  «        z   }t          j        |¦  «         dS t          rt	          j        | ¦  «         dS dS )z”
    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<   €   sd   € õ Œ9Ð:Ñ;Ô;ð Ø�EœK¨Ñ,Ô,Ñ,ˆÝ
Œ	�#‰ŒˆØˆåð ÝŒ˜ÑÔÐØˆðð r   )Nr   N)Nr   )Úhttp.clientr   Úurllib.requestr   Úurllib.errorr   r7   r5   r'   r9   r   Ú
exceptionsr   Ú__init__r   r   r   r3   r<   © r   r   ú<module>rC      sì   ðð0 Ð Ð Ð Ø Ð Ð Ð Ø Ð Ð Ð Ø €€€Ø €€€Ø 	€	€	€	Ø 
€
€
€
Ø Ð Ð Ð Ø €€€ðð ð ð ð ð ð %Ð $Ð $Ð $Ð $Ð $à	˜Ñ	&¨Ñ	4€ðUð Uð Uð UðB1ð 1ð 1ð 1ðhð ð ð ð r   