o
    #jr                     @   s  d 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ZddlZddl	m
Z zddlZW n ey7   dZY nw zddlZW n eyI   dZY nw zddlmZ W n eya   dZdZdZY n	w ddlZddlZdd Zd	eeef fd
dZdd Zedkre  dS dS )z'Module containing bug report helper(s).    N)Any   )__version__)	pyopensslc                  C   s   t  } | dkrt  }n8| dkr1tj}|j d|j d|j }tjjdkr0d	|tjjg}n| dkr:t  }n| dkrCt  }nd}| |d	S )
a  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 3.10.3 it will return
    {'name': 'CPython', 'version': '3.10.3'}.

    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.
    CPythonPyPy.final Jython
IronPythonUnknown)nameversion)
platformpython_implementationpython_versionsyspypy_version_infomajorminormicroreleaseleveljoin)implementationimplementation_versionpypy r   N/var/www/html/Deteccion_Ine/venv/lib/python3.10/site-packages/requests/help.py_implementation%   s"   




r   returnc            
      C   s   zt  t  d} W n ty   ddd} Y nw t }dtji}ddi}ddi}tr1dtji}tr8dtji}ddd}t	rIt	jt	j
jdd}dttddi}dttddi}tj}d|dure|dndi}	| ||	tdutdu ||||||dtid	S )
z&Generate information for a bug report.)systemreleaser   r   Nr
   )r   openssl_versionxr   )r   r   
system_sslZusing_pyopensslZusing_charset_normalizerZ	pyOpenSSLurllib3chardetcharset_normalizercryptographyidnarequests)r   r!   r"   OSErrorr   r&   r   r(   r'   OpenSSLZSSLOPENSSL_VERSION_NUMBERgetattrr)   r*   sslr   requests_version)
Zplatform_infoZimplementation_infoZurllib3_infoZcharset_normalizer_infoZchardet_infoZpyopenssl_infoZcryptography_infoZ	idna_infor%   Zsystem_ssl_infor   r   r   infoE   sX   





r2   c                   C   s   t tjt ddd dS )z)Pretty-print the bug information as JSON.T   )	sort_keysindentN)printjsondumpsr2   r   r   r   r   main   s   r9   __main__)__doc__r7   r   r0   r   typingr   r*   r&   r
   r   r1   r(   ImportErrorr'   Zurllib3.contribr   r-   r)   r   dictstrr2   r9   __name__r   r   r   r   <module>   sD     ;
