Skip to content

Commit 53d0f82

Browse files
feat: operate in offline mode
1 parent 0de4986 commit 53d0f82

1 file changed

Lines changed: 13 additions & 2 deletions

File tree

sbom4python/scanner.py

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,13 @@ def _format_supplier(self, supplier_info, include_email=True):
8383

8484
def _create_package(self, package, version, parent="-"):
8585
self.sbom_package.initialise()
86-
self.package_metadata.get_package(package)
86+
offline = False
87+
try:
88+
self.package_metadata.get_package(package)
89+
except:
90+
offline = True
91+
if self.debug:
92+
print (f"[ERROR] Unable to retrieve metadata for {package}")
8793
self.sbom_package.set_name(package)
8894
self.sbom_package.set_property("language", "Python")
8995
self.sbom_package.set_property("python_version", self.python_version)
@@ -97,7 +103,7 @@ def _create_package(self, package, version, parent="-"):
97103
supplier = self.get("Author") + " " + self.get("Author-email")
98104
home_page = self.get("Home-page")
99105
summary = self.get("Summary")
100-
else:
106+
elif not offline:
101107
license_information = self.package_metadata.get_license()
102108
# Supplier info
103109
supplier = self.package_metadata.get_originator()
@@ -109,6 +115,11 @@ def _create_package(self, package, version, parent="-"):
109115
summary = self.package_metadata.get_description()
110116
if summary is None:
111117
summary = ""
118+
else:
119+
license_information = ""
120+
supplier = ""
121+
home_page = ""
122+
summary = ""
112123
license = self.license.find_license(license_information)
113124
# Report license as reported by metadata. If not valid SPDX, report NOASSERTION
114125
if license != license_information:

0 commit comments

Comments
 (0)