ó —Àv]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((s1/tmp/pip-install-Qvdv_2/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((s1/tmp/pip-install-Qvdv_2/requests/requests/help.pytinfo;sJ        cCs&ttjtƒdtddƒƒdS(s)Pretty-print the bug information as JSON.t sort_keystindentiN(tprinttjsontdumpsR4tTrue(((s1/tmp/pip-install-Qvdv_2/requests/requests/help.pytmainqst__main__(t__doc__t __future__RR8R RR*R"RR RRR+turllib3.contribRt ImportErrorR%R&R!RR4R;t__name__(((s1/tmp/pip-install-Qvdv_2/requests/requests/help.pyts,            ! 6