OXIESEC PANEL
- Current Dir:
/
/
snap
/
certbot-dns-digitalocean
/
4356
/
lib
/
python3.12
/
site-packages
/
requests
Server IP: 139.59.38.164
Upload:
Create Dir:
Name
Size
Modified
Perms
📁
..
-
06/12/2025 06:18:03 PM
rwxr-xr-x
📄
__init__.py
4.95 KB
06/12/2025 06:17:59 PM
rw-r--r--
📁
__pycache__
-
06/12/2025 06:18:03 PM
rwxr-xr-x
📄
__version__.py
435 bytes
06/12/2025 06:17:59 PM
rw-r--r--
📄
_internal_utils.py
1.46 KB
06/12/2025 06:17:59 PM
rw-r--r--
📄
adapters.py
26.81 KB
06/12/2025 06:17:59 PM
rw-r--r--
📄
api.py
6.3 KB
06/12/2025 06:17:59 PM
rw-r--r--
📄
auth.py
9.95 KB
06/12/2025 06:17:59 PM
rw-r--r--
📄
certs.py
429 bytes
06/12/2025 06:17:59 PM
rw-r--r--
📄
compat.py
1.77 KB
06/12/2025 06:17:59 PM
rw-r--r--
📄
cookies.py
18.15 KB
06/12/2025 06:17:59 PM
rw-r--r--
📄
exceptions.py
4.16 KB
06/12/2025 06:17:59 PM
rw-r--r--
📄
help.py
3.78 KB
06/12/2025 06:17:59 PM
rw-r--r--
📄
hooks.py
733 bytes
06/12/2025 06:17:59 PM
rw-r--r--
📄
models.py
34.59 KB
06/12/2025 06:17:59 PM
rw-r--r--
📄
packages.py
904 bytes
06/12/2025 06:17:59 PM
rw-r--r--
📄
sessions.py
29.78 KB
06/12/2025 06:17:59 PM
rw-r--r--
📄
status_codes.py
4.22 KB
06/12/2025 06:17:59 PM
rw-r--r--
📄
structures.py
2.84 KB
06/12/2025 06:17:59 PM
rw-r--r--
📄
utils.py
32.83 KB
06/12/2025 06:17:59 PM
rw-r--r--
Editing: help.py
Close
"""Module containing bug report helper(s).""" import json import platform import ssl import sys import idna import urllib3 from . import __version__ as requests_version try: import charset_normalizer except ImportError: charset_normalizer = None try: import chardet except ImportError: chardet = None try: from urllib3.contrib import pyopenssl except ImportError: pyopenssl = None OpenSSL = None cryptography = None else: import cryptography import OpenSSL def _implementation(): """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. """ implementation = platform.python_implementation() if implementation == "CPython": implementation_version = platform.python_version() elif implementation == "PyPy": implementation_version = "{}.{}.{}".format( sys.pypy_version_info.major, sys.pypy_version_info.minor, sys.pypy_version_info.micro, ) if sys.pypy_version_info.releaselevel != "final": implementation_version = "".join( [implementation_version, sys.pypy_version_info.releaselevel] ) elif implementation == "Jython": implementation_version = platform.python_version() # Complete Guess elif implementation == "IronPython": implementation_version = platform.python_version() # Complete Guess else: implementation_version = "Unknown" return {"name": implementation, "version": implementation_version} def info(): """Generate information for a bug report.""" try: platform_info = { "system": platform.system(), "release": platform.release(), } except OSError: platform_info = { "system": "Unknown", "release": "Unknown", } implementation_info = _implementation() urllib3_info = {"version": urllib3.__version__} charset_normalizer_info = {"version": None} chardet_info = {"version": None} if charset_normalizer: charset_normalizer_info = {"version": charset_normalizer.__version__} if chardet: chardet_info = {"version": chardet.__version__} pyopenssl_info = { "version": None, "openssl_version": "", } if OpenSSL: pyopenssl_info = { "version": OpenSSL.__version__, "openssl_version": f"{OpenSSL.SSL.OPENSSL_VERSION_NUMBER:x}", } cryptography_info = { "version": getattr(cryptography, "__version__", ""), } idna_info = { "version": getattr(idna, "__version__", ""), } system_ssl = ssl.OPENSSL_VERSION_NUMBER system_ssl_info = {"version": f"{system_ssl:x}" if system_ssl is not None else ""} return { "platform": platform_info, "implementation": implementation_info, "system_ssl": system_ssl_info, "using_pyopenssl": pyopenssl is not None, "using_charset_normalizer": chardet is None, "pyOpenSSL": pyopenssl_info, "urllib3": urllib3_info, "chardet": chardet_info, "charset_normalizer": charset_normalizer_info, "cryptography": cryptography_info, "idna": idna_info, "requests": { "version": requests_version, }, } def main(): """Pretty-print the bug information as JSON.""" print(json.dumps(info(), sort_keys=True, indent=2)) if __name__ == "__main__": main()