8000 Added convenience function to extract SPDX elements by their Id · HarshvMahawar/tools-python@d27bbe1 · GitHub
[go: up one dir, main page]

Skip to content 8000

Commit d27bbe1

Browse files
committed
Added convenience function to extract SPDX elements by their Id
Signed-off-by: HarshvMahawar <hv062727@gmail.com>
1 parent 91b05dc commit d27bbe1

File tree

1 file changed

+13
-0
lines changed

1 file changed

+13
-0
lines changed

src/spdx/document_utils.py

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,12 +9,25 @@
99
# See the License for the specific language governing permissions and
1010
# limitations under the License.
1111
from typing import List
12+
from typing import Union
1213

1314
from spdx.model.document import Document
15+
from spdx.model.snippet import Snippet
16+
from spdx.model.package import Package
17+
from spdx.model.file import File
1418

1519

1620
def get_contained_spdx_element_ids(document: Document) -> List[str]:
1721
element_ids = [file.spdx_id for file in document.files]
1822
element_ids.extend([package.spdx_id for package in document.packages])
1923
element_ids.extend([snippet.spdx_id for snippet in document.snippets])
2024
return element_ids
25+
26+
27+
def get_element_from_spdx_id(document: Document, spdx_id: str) -> Union[Package, File, Snippet, None]:
28+
elements = [file_ for file_ in document.files]
29+
elements.extend([package_ for package_ in document.packages])
30+
elements.extend([snippet_ for snippet_ in document.snippets])
31+
for element in elements:
32+
if element.spdx_id == spdx_id:
33+
return element

0 commit comments

Comments
 (0)
0