From 7b86dcbee23603e3d75296c79a6181d3c03b3742 Mon Sep 17 00:00:00 2001 From: Kali Developers Date: Mon, 5 Jan 2026 11:51:44 +0700 Subject: [PATCH] Fix pyExploitDb import for compatibility with newer versions pyExploitDb >= 0.3.3 module is installed with a lowercase package name (`pyexploitdb`) instead of the original (`pyExploitDb`). This causes ImportError on newer Python setups. This patch updates `parsers/Script.py` and other files to try importing the new module first, and if that fails, fall back to the original module. This ensures Legion works on systems where the package name differs. --- deps/primeExploitDb.py | 5 ++++- parsers/Script.py | 11 +++++++---- primeExploitDb.py | 5 ++++- 3 files changed, 15 insertions(+), 6 deletions(-) diff --git a/deps/primeExploitDb.py b/deps/primeExploitDb.py index 0e61a184..6f59cecb 100755 --- a/deps/primeExploitDb.py +++ b/deps/primeExploitDb.py @@ -1,6 +1,9 @@ #!/usr/bin/env python3 -from pyExploitDb import PyExploitDb +try: + from pyexploitdb import PyExploitDb +except ImportError: + from pyExploitDb import PyExploitDb def prime(): diff --git a/parsers/Script.py b/parsers/Script.py index 109c3766..6b17a6fe 100644 --- a/parsers/Script.py +++ b/parsers/Script.py @@ -8,10 +8,13 @@ import parsers.CVE as CVE try: - from pyExploitDb import PyExploitDb -except Exception as import_error: - PyExploitDb = None - PY_EXPLOIT_DB_IMPORT_ERROR = import_error + from pyexploitdb import PyExploitDb +except ImportError: + try: + from pyExploitDb import PyExploitDb + except Exception as import_error: + PyExploitDb = None + PY_EXPLOIT_DB_IMPORT_ERROR = import_error else: PY_EXPLOIT_DB_IMPORT_ERROR = None diff --git a/primeExploitDb.py b/primeExploitDb.py index 0e61a184..6f59cecb 100755 --- a/primeExploitDb.py +++ b/primeExploitDb.py @@ -1,6 +1,9 @@ #!/usr/bin/env python3 -from pyExploitDb import PyExploitDb +try: + from pyexploitdb import PyExploitDb +except ImportError: + from pyExploitDb import PyExploitDb def prime():