� ��^c@sdZddlmZddlZddlZddlZddlZddlZddlZddl Z ddl m Z yddl mZWn#ek r�dZdZdZnXddlZddlZd�Zd�Zd �Zed kr�e�ndS( s'Module containing bug report helper(s).i����(tprint_functionNi(t __version__(t pyopensslcCs�tj�}|dkr'tj�}n�|dkr�dtjjtjjtjjf}tjjdkr�dj |tjjg�}q�n<|dkr�tj�}n!|dkr�tj�}nd}i|d 6|d 6S( s�Return a dict with the Python implementation and version. Provide both the name and the version of the Python implementation currently running. For example, on CPython 2.7.5 it will return {'name': 'CPython', 'version': '2.7.5'}. This function works best on CPython and PyPy: in particular, it probably doesn't work for Jython or IronPython. Future investigation should be done to work out the correct shape of the code for those platforms. tCPythontPyPys%s.%s.%stfinalttJythont IronPythontUnknowntnametversion( tplatformtpython_implementationtpython_versiontsystpypy_version_infotmajortminortmicrot releaseleveltjoin(timplementationtimplementation_version((s//tmp/pip-build-1THPZW/requests/requests/help.pyt_implementations       c Cshy$itj�d6tj�d6}Wn%tk rKidd6dd6}nXt�}itjd6}itjd6}idd6dd6}t r�it jd6dt j j d6}nit t dd�d6}it tdd�d6}tj }i|dk rd|ndd6}i |d 6|d 6|d 6tdk d 6|d 6|d6|d6|d6|d6itd6d6S(s&Generate information for a bug report.tsystemtreleaseR R Rtopenssl_versions%xRR Rt system_ssltusing_pyopensslt pyOpenSSLturllib3tchardett cryptographytidnatrequestsN(R RRtIOErrorRRRR tNonetOpenSSLtSSLtOPENSSL_VERSION_NUMBERtgetattrR!R"tsslRtrequests_version( t platform_infotimplementation_infot urllib3_infot chardet_infotpyopenssl_infotcryptography_infot idna_infoRtsystem_ssl_info((s//tmp/pip-build-1THPZW/requests/requests/help.pytinfo;sJ        cCs&ttjt�dtdd��dS(s)Pretty-print the bug information as JSON.t sort_keystindentiN(tprinttjsontdumpsR4tTrue(((s//tmp/pip-build-1THPZW/requests/requests/help.pytmainqst__main__(t__doc__t __future__RR8R RR*R"RR RRR+turllib3.contribRt ImportErrorR%R&R!RR4R;t__name__(((s//tmp/pip-build-1THPZW/requests/requests/help.pyts,            ! 6