Skip to content

Commit ca5ba01

Browse files
committed
Handle rebase
1 parent d7e6367 commit ca5ba01

File tree

3 files changed

+55
-56
lines changed

3 files changed

+55
-56
lines changed

backend/apps/owasp/utils/pdf.py

Lines changed: 28 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -16,15 +16,15 @@ def create_table(data, col_widths="*"):
1616
data,
1717
colWidths=col_widths,
1818
style=TableStyle(
19-
[
19+
(
2020
("BACKGROUND", (0, 0), (-1, 0), "#f2f2f2"),
2121
("TEXTCOLOR", (0, 0), (-1, 0), "#000000"),
2222
("ALIGN", (0, 0), (-1, -1), "CENTER"),
2323
("FONTNAME", (0, 0), (-1, -1), "Helvetica"),
2424
("BOTTOMPADDING", (0, 0), (-1, -1), 12),
2525
("BACKGROUND", (0, 1), (-1, -1), "#ffffff"),
2626
("GRID", (0, 0), (-1, -1), 1, "#dddddd"),
27-
]
27+
)
2828
),
2929
)
3030

@@ -73,8 +73,8 @@ def generate_metrics_overview_pdf() -> BytesIO:
7373
)
7474

7575
table = create_table(table_data)
76-
table.wrapOn(canvas, 400, 600)
77-
table.drawOn(canvas, 100, 570)
76+
table.wrapOn(canvas, 400, 500)
77+
table.drawOn(canvas, 100, 470)
7878
canvas.drawCentredString(
7979
300, 100, f"Generated on: {timezone.now().strftime('%Y-%m-%d %H:%M:%S')}"
8080
)
@@ -112,13 +112,13 @@ def generate_latest_metrics_pdf(project_key: str) -> BytesIO | None:
112112
300, 680, f"Health Score: {metrics.score:.2f}" if metrics.score is not None else "N/A"
113113
)
114114
table_data = (
115-
["Metric", "Value"],
116-
["Project Age", f"{metrics.age_days}/{metrics.age_days_requirement} days"],
117-
[
115+
("Metric", "Value"),
116+
("Project Age", f"{metrics.age_days}/{metrics.age_days_requirement} days"),
117+
(
118118
"Last Commit",
119119
f"{metrics.last_commit_days}/{metrics.last_commit_days_requirement} days",
120-
],
121-
[
120+
),
121+
(
122122
"Last Pull Request",
123123
# To bypass ruff long line error
124124
"/".join(
@@ -127,12 +127,12 @@ def generate_latest_metrics_pdf(project_key: str) -> BytesIO | None:
127127
f"{metrics.last_pull_request_days_requirement} days",
128128
]
129129
),
130-
],
131-
[
130+
),
131+
(
132132
"Last Release",
133133
f"{metrics.last_release_days}/{metrics.last_release_days_requirement} days",
134-
],
135-
[
134+
),
135+
(
136136
"OWASP Page Last Update",
137137
# To bypass ruff long line error
138138
"/".join(
@@ -141,31 +141,31 @@ def generate_latest_metrics_pdf(project_key: str) -> BytesIO | None:
141141
f"{metrics.owasp_page_last_update_days_requirement} days",
142142
]
143143
),
144-
],
145-
["Open/Total Issues", f"{metrics.open_issues_count}/{metrics.total_issues_count}"],
146-
[
144+
),
145+
("Open/Total Issues", f"{metrics.open_issues_count}/{metrics.total_issues_count}"),
146+
(
147147
"Open/Total Pull Requests",
148148
f"{metrics.open_pull_requests_count}/{metrics.total_pull_requests_count}",
149-
],
150-
[
149+
),
150+
(
151151
"Recent/Total Releases",
152152
f"{metrics.recent_releases_count}/{metrics.total_releases_count}",
153-
],
154-
["Forks", metrics.forks_count],
155-
["Stars", metrics.stars_count],
156-
[
153+
),
154+
("Forks", metrics.forks_count),
155+
("Stars", metrics.stars_count),
156+
(
157157
"Unassigned/Unanswered Issues",
158158
f"{metrics.unassigned_issues_count}/{metrics.unanswered_issues_count}",
159-
],
160-
["Contributors", metrics.contributors_count],
161-
[
159+
),
160+
("Contributors", metrics.contributors_count),
161+
(
162162
"Has funding policy issues",
163163
"No" if metrics.is_funding_requirements_compliant else "Yes",
164-
],
165-
[
164+
),
165+
(
166166
"Has leadership policy issues",
167167
"No" if metrics.is_leader_requirements_compliant else "Yes",
168-
],
168+
),
169169
)
170170
table = create_table(table_data)
171171
table.wrapOn(pdf, 500, 250)

backend/tests/apps/owasp/utils/pdf_test.py

Lines changed: 26 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -73,8 +73,8 @@ def test_generate_overview_pdf(
7373
table_data, colWidths="*", style=mock_table_style.return_value
7474
)
7575
mock_table_style.assert_called_once()
76-
mock_table.return_value.wrapOn.assert_called_once_with(canvas, 400, 600)
77-
mock_table.return_value.drawOn.assert_called_once_with(canvas, 100, 570)
76+
mock_table.return_value.wrapOn.assert_called_once_with(canvas, 400, 500)
77+
mock_table.return_value.drawOn.assert_called_once_with(canvas, 100, 470)
7878
canvas.showPage.assert_called_once()
7979
canvas.save.assert_called_once()
8080

@@ -125,13 +125,13 @@ def test_generate_detailed_pdf(
125125
mock_canvas.assert_called_once_with(mock_bytes_io.return_value, pagesize=letter)
126126
canvas = mock_canvas.return_value
127127
table_data = (
128-
["Metric", "Value"],
129-
["Project Age", f"{metrics.age_days}/{metrics.age_days_requirement} days"],
130-
[
128+
("Metric", "Value"),
129+
("Project Age", f"{metrics.age_days}/{metrics.age_days_requirement} days"),
130+
(
131131
"Last Commit",
132132
f"{metrics.last_commit_days}/{metrics.last_commit_days_requirement} days",
133-
],
134-
[
133+
),
134+
(
135135
"Last Pull Request",
136136
# To bypass ruff long line error
137137
"/".join(
@@ -140,12 +140,12 @@ def test_generate_detailed_pdf(
140140
f"{metrics.last_pull_request_days_requirement} days",
141141
]
142142
),
143-
],
144-
[
143+
),
144+
(
145145
"Last Release",
146146
f"{metrics.last_release_days}/{metrics.last_release_days_requirement} days",
147-
],
148-
[
147+
),
148+
(
149149
"OWASP Page Last Update",
150150
# To bypass ruff long line error
151151
"/".join(
@@ -154,31 +154,31 @@ def test_generate_detailed_pdf(
154154
f"{metrics.owasp_page_last_update_days_requirement} days",
155155
]
156156
),
157-
],
158-
["Open/Total Issues", f"{metrics.open_issues_count}/{metrics.total_issues_count}"],
159-
[
157+
),
158+
("Open/Total Issues", f"{metrics.open_issues_count}/{metrics.total_issues_count}"),
159+
(
160160
"Open/Total Pull Requests",
161161
f"{metrics.open_pull_requests_count}/{metrics.total_pull_requests_count}",
162-
],
163-
[
162+
),
163+
(
164164
"Recent/Total Releases",
165165
f"{metrics.recent_releases_count}/{metrics.total_releases_count}",
166-
],
167-
["Forks", metrics.forks_count],
168-
["Stars", metrics.stars_count],
169-
[
166+
),
167+
("Forks", metrics.forks_count),
168+
("Stars", metrics.stars_count),
169+
(
170170
"Unassigned/Unanswered Issues",
171171
f"{metrics.unassigned_issues_count}/{metrics.unanswered_issues_count}",
172-
],
173-
["Contributors", metrics.contributors_count],
174-
[
172+
),
173+
("Contributors", metrics.contributors_count),
174+
(
175175
"Has funding policy issues",
176176
"No" if metrics.is_funding_requirements_compliant else "Yes",
177-
],
178-
[
177+
),
178+
(
179179
"Has leadership policy issues",
180180
"No" if metrics.is_leader_requirements_compliant else "Yes",
181-
],
181+
),
182182
)
183183
mock_table.assert_called_once_with(
184184
table_data, colWidths="*", style=mock_table_style.return_value

frontend/src/server/fetchMetricsPDF.ts

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,7 @@
11
import { handleAppError } from 'app/global-error'
22
import { API_URL } from 'utils/credentials'
33
export const fetchMetricsPDF = async (path: string, fileName: string): Promise<void> => {
4-
const baseUrl = API_URL.split('/api')[0]
5-
const response = await fetch(`${baseUrl}/owasp/project-health-metrics/${path}`, {
4+
const response = await fetch(`${API_URL}owasp/project-health-metrics/${path}`, {
65
method: 'GET',
76
headers: {
87
accept: 'application/pdf',

0 commit comments

Comments
 (0)