MCPcopy Create free account
hub / github.com/NVIDIA/OpenShell / resolve_component

Function resolve_component

deploy/sbom/resolve_licenses.py:303–334  ·  view source on GitHub ↗

Try to resolve a license for a component.

(comp: dict)

Source from the content-addressed store, hash-verified

301
302
303def resolve_component(comp: dict) -> str | None:
304 """Try to resolve a license for a component."""
305 name = comp.get("name", "")
306 version = comp.get("version", "")
307 purl = comp.get("purl", "")
308 comp_type = comp.get("type", "")
309
310 # 1. Check hardcoded known licenses
311 if name in KNOWN_LICENSES:
312 return KNOWN_LICENSES[name]
313
314 # 2. Route by purl type
315 if purl.startswith("pkg:cargo/"):
316 return lookup_cargo(name, version)
317 if purl.startswith("pkg:npm/"):
318 return lookup_npm(name, version)
319 if purl.startswith("pkg:pypi/"):
320 return lookup_pypi(name, version)
321 if purl.startswith("pkg:golang/"):
322 return resolve_go_name(name)
323 if purl.startswith("pkg:deb/"):
324 # Check known map by base package name
325 base = name.split(":")[0] # strip arch qualifier
326 if base in KNOWN_LICENSES:
327 return KNOWN_LICENSES[base]
328 return None
329 if comp_type == "operating-system":
330 return KNOWN_LICENSES.get(name)
331 if not purl:
332 return KNOWN_LICENSES.get(name)
333
334 return None
335
336
337def set_license(comp: dict, license_id: str) -> None:

Callers 2

_resolve_oneFunction · 0.85
mainFunction · 0.85

Calls 5

lookup_cargoFunction · 0.85
lookup_npmFunction · 0.85
lookup_pypiFunction · 0.85
resolve_go_nameFunction · 0.85
getMethod · 0.45

Tested by

no test coverage detected