diff --git a/cve/filter.py b/cve/filter.py index cf6f1a96f..a9f4f3ffe 100644 --- a/cve/filter.py +++ b/cve/filter.py @@ -2,20 +2,35 @@ try: with open("installed.json") as f: - installed = {pkg["name"].lower(): pkg["version"] for pkg in json.load(f)} + # Only store package names for comparison, ignore versions + installed = {pkg["name"].lower() for pkg in json.load(f)} except (json.JSONDecodeError, FileNotFoundError): - installed = {} + installed = set() -with open("requirements.txt") as f: +print("Installed packages:") +print("\n".join(sorted(installed)) if installed else "No installed packages found") +print("\n" + "=" * 50 + "\n") + +with open("cve/requirements.txt") as f: requirements = [ line.strip() for line in f if line.strip() and not line.startswith("#") ] +print("Requirements from requirements.txt:") +print("\n".join(requirements) if requirements else "No requirements found") +print("\n" + "=" * 50 + "\n") + filtered = [] for req in requirements: + # Only get package name for comparison pkg_name = req.split("==")[0].strip().lower() if pkg_name in installed: + # Add the full original requirement (including version) filtered.append(req) +print("Filtered requirements (matching installed packages):") +print("\n".join(filtered) if filtered else "No matching packages found") +print("\n" + "=" * 50 + "\n") + with open("filtered-requirements.txt", "w") as f: f.write("\n".join(filtered)) diff --git a/cve/requirements.txt b/cve/requirements.txt index df136f1b1..31b6008aa 100644 --- a/cve/requirements.txt +++ b/cve/requirements.txt @@ -1 +1,5 @@ pymysql==1.1.1 +jinja2==3.1.5 +idna==3.7 +webob==1.8.8 +virtualenv==20.26.6