Skip to content

Commit 53e5fe5

Browse files
committed
Refine the ORT output naming and rendering
Signed-off-by: tdruez <[email protected]>
1 parent 43fe935 commit 53e5fe5

File tree

7 files changed

+44
-16
lines changed

7 files changed

+44
-16
lines changed

scanpipe/api/views.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -168,8 +168,8 @@ def results_download(self, request, *args, **kwargs):
168168
output_file = output.to_cyclonedx(project, **output_kwargs)
169169
elif format == "attribution":
170170
output_file = output.to_attribution(project)
171-
elif format == "ort":
172-
output_file = output.to_ort(project)
171+
elif format == "ort-package-list":
172+
output_file = output.to_ort_package_list_yml(project)
173173
else:
174174
message = {"status": f"Format {format} not supported."}
175175
return Response(message, status=status.HTTP_400_BAD_REQUEST)

scanpipe/management/commands/output.py

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,15 @@
2525
from scanpipe.management.commands import ProjectCommand
2626
from scanpipe.pipes import output
2727

28-
SUPPORTED_FORMATS = ["json", "csv", "xlsx", "attribution", "spdx", "cyclonedx", "ort"]
28+
SUPPORTED_FORMATS = [
29+
"json",
30+
"csv",
31+
"xlsx",
32+
"attribution",
33+
"spdx",
34+
"cyclonedx",
35+
"ort-package-list",
36+
]
2937

3038

3139
class Command(ProjectCommand):
@@ -84,7 +92,7 @@ def handle_output(self, output_format):
8492
"spdx": output.to_spdx,
8593
"cyclonedx": output.to_cyclonedx,
8694
"attribution": output.to_attribution,
87-
"ort": output.to_ort,
95+
"ort-package-list": output.to_ort_package_list_yml,
8896
}.get(output_format)
8997

9098
if not output_function:

scanpipe/pipes/ort.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,7 @@ def to_yaml(self) -> str:
7272
return yaml.safe_dump(asdict(self), sort_keys=False, allow_unicode=True)
7373

7474

75-
def to_ort(project):
75+
def to_ort_package_list_yml(project):
7676
dependencies = []
7777
for package in project.discoveredpackages.all():
7878
dependency = Dependency(

scanpipe/pipes/output.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1059,14 +1059,14 @@ def to_attribution(project):
10591059
return output_file
10601060

10611061

1062-
def to_ort(project):
1062+
def to_ort_package_list_yml(project):
10631063
"""
1064-
Generate a ORT compatible "package-list.yml" output.
1064+
Generate an ORT compatible "package-list.yml" output.
10651065
The output file is created in the ``project`` "output/" directory.
10661066
Return the path of the generated output file.
10671067
"""
10681068
output_file = project.get_output_file_path("results", "package-list.yml")
1069-
ort_yml = ort.to_ort(project)
1069+
ort_yml = ort.to_ort_package_list_yml(project)
10701070
output_file.write_text(ort_yml)
10711071
return output_file
10721072

@@ -1077,5 +1077,5 @@ def to_ort(project):
10771077
"spdx": to_spdx,
10781078
"cyclonedx": to_cyclonedx,
10791079
"attribution": to_attribution,
1080-
"ort": to_ort,
1080+
"ort-package-list": to_ort_package_list_yml,
10811081
}

scanpipe/templates/scanpipe/dropdowns/project_download_dropdown.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@
3131
<a href="{% url 'project_results' project.slug 'attribution' %}" class="dropdown-item">
3232
<strong>Attribution</strong>
3333
</a>
34-
<a href="{% url 'project_results' project.slug 'ort' %}" class="dropdown-item">
34+
<a href="{% url 'project_results' project.slug 'ort-package-list' %}" class="dropdown-item">
3535
<strong>ORT (package-list)</strong>
3636
</a>
3737
</div>

scanpipe/templates/scanpipe/includes/project_downloads.html

Lines changed: 24 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -12,11 +12,14 @@
1212
</a>
1313
<div class="dropdown is-hoverable">
1414
<div class="dropdown-trigger">
15-
<button class="button tag is-success is-medium" aria-haspopup="true" aria-controls="dropdown-menu-cyclonedx">
15+
<button class="button tag is-success is-medium has-text-weight-normal" aria-haspopup="true" aria-controls="dropdown-menu-cyclonedx">
1616
<span class="icon">
1717
<i class="fa-solid fa-download" aria-hidden="true"></i>
1818
</span>
1919
<span>CycloneDX</span>
20+
<span class="icon is-small">
21+
<i class="fa-solid fa-angle-down" aria-hidden="true"></i>
22+
</span>
2023
</button>
2124
</div>
2225
<div class="dropdown-menu" id="dropdown-menu-cyclonedx" role="menu">
@@ -36,8 +39,25 @@
3639
<a class="tag is-success is-medium" href="{% url 'project_results' project.slug 'attribution' %}">
3740
<span class="icon mr-1"><i class="fa-solid fa-download"></i></span>Attribution
3841
</a>
39-
<a class="tag is-success is-medium" href="{% url 'project_results' project.slug 'ort' %}">
40-
<span class="icon mr-1"><i class="fa-solid fa-download"></i></span>ORT
41-
</a>
42+
<div class="dropdown is-hoverable">
43+
<div class="dropdown-trigger">
44+
<button class="button tag is-success is-medium has-text-weight-normal" aria-haspopup="true" aria-controls="dropdown-menu-ort">
45+
<span class="icon">
46+
<i class="fa-solid fa-download" aria-hidden="true"></i>
47+
</span>
48+
<span>Tools formats</span>
49+
<span class="icon is-small">
50+
<i class="fa-solid fa-angle-down" aria-hidden="true"></i>
51+
</span>
52+
</button>
53+
</div>
54+
<div class="dropdown-menu" id="dropdown-menu-ort" role="menu">
55+
<div class="dropdown-content">
56+
<a href="{% url 'project_results' project.slug 'cyclonedx' '1.6' %}" class="dropdown-item has-text-weight-semibold">
57+
ORT package-list.yml
58+
</a>
59+
</div>
60+
</div>
61+
</div>
4262
</div>
4363
</article>

scanpipe/views.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1630,8 +1630,8 @@ def get(self, request, *args, **kwargs):
16301630
output_file = output.to_cyclonedx(project, **output_kwargs)
16311631
elif format == "attribution":
16321632
output_file = output.to_attribution(project)
1633-
elif format == "ort":
1634-
output_file = output.to_ort(project)
1633+
elif format == "ort-package-list":
1634+
output_file = output.to_ort_package_list_yml(project)
16351635
else:
16361636
raise Http404("Format not supported.")
16371637

0 commit comments

Comments
 (0)