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

Skip to content

Commit 34b8bc8

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

File tree

1 file changed

+14
-1
lines changed

1 file changed

+14
-1
lines changed

src/spdx/document_utils.py

Lines changed: 14 additions & 1 deletion
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-
12+
from typing import Union
1313
from spdx.model.document import Document
14+
from spdx.model.snippet import Snippet
15+
from spdx.model.package import Package
16+
from spdx.model.file import File
1417

1518

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

0 commit comments

Comments
 (0)
0