From 3163e132e9a1cde1eb26a67fc1cdd2c33e84d7eb Mon Sep 17 00:00:00 2001 From: Orlando Barrera II Date: Thu, 6 Jun 2024 15:18:46 -0500 Subject: [PATCH 1/2] added the sbom report output in a dict format --- socketdev/__init__.py | 3 +++ socketdev/sbom/__init__.py | 23 +++++++++++++++++++++++ 2 files changed, 26 insertions(+) create mode 100644 socketdev/sbom/__init__.py diff --git a/socketdev/__init__.py b/socketdev/__init__.py index cdf637f..57968c2 100644 --- a/socketdev/__init__.py +++ b/socketdev/__init__.py @@ -1,12 +1,14 @@ import logging import requests import base64 + from socketdev.dependencies import Dependencies from socketdev.npm import NPM from socketdev.openapi import OpenAPI from socketdev.org import Orgs from socketdev.quota import Quota from socketdev.report import Report +from socketdev.sbom import Sbom from socketdev.repositories import Repositories from socketdev.settings import Settings from socketdev.socket_classes import Dependency, Org, Response @@ -86,5 +88,6 @@ def __init__(self, token: str): self.org = Orgs() self.quota = Quota() self.report = Report() + self.sbom = Sbom() self.repositories = Repositories() self.settings = Settings() diff --git a/socketdev/sbom/__init__.py b/socketdev/sbom/__init__.py new file mode 100644 index 0000000..41f2f07 --- /dev/null +++ b/socketdev/sbom/__init__.py @@ -0,0 +1,23 @@ +import socketdev +import json + +class Sbom: + @staticmethod + def get_sbom_data(report_id: str) -> list: + path = f"sbom/view/{report_id}" + response = socketdev.do_request(path=path) + if response.status_code == 200: + sbom = [] + sbom_dict = {} + data = response.text + data.strip('"') + data.strip() + for line in data.split("\n"): + if line != '"' and line != "" and line is not None: + item = json.loads(line) + sbom.append(item) + for key, val in enumerate(sbom): + sbom_dict[val['id']] = val + else: + sbom_dict = {} + return sbom_dict \ No newline at end of file From 41635538b951e76c4097f62c077e6b41ed0212e9 Mon Sep 17 00:00:00 2001 From: Orlando Barrera II Date: Fri, 7 Jun 2024 14:25:45 -0500 Subject: [PATCH 2/2] added sbom function --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index 88458b7..37b4332 100644 --- a/.gitignore +++ b/.gitignore @@ -5,3 +5,4 @@ venv .DS_Store *.zip *.pyc +test.py