Skip to content

Commit 8757e03

Browse files
authored
Merge pull request #490 from moritzschmitz-oviva/fix-empty-output-file
fix: Set default filename, when output file is empty
2 parents 0734b6d + e9e016a commit 8757e03

File tree

2 files changed

+19
-6
lines changed

2 files changed

+19
-6
lines changed

Diff for: issue_metrics.py

+7-6
Original file line numberDiff line numberDiff line change
@@ -171,15 +171,16 @@ def evaluate_markdown_file_size(output_file: str) -> None:
171171
"""
172172
Evaluate the size of the markdown file and split it, if it is too large.
173173
"""
174-
file_name_without_extension = Path(output_file).stem
174+
output_file_name = output_file if output_file else "issue_metrics.md"
175+
file_name_without_extension = Path(output_file_name).stem
175176
max_char_count = 65535
176-
if markdown_too_large_for_issue_body(output_file, max_char_count):
177-
split_markdown_file(output_file, max_char_count)
178-
shutil.move(output_file, f"{file_name_without_extension}_full.md")
179-
shutil.move(f"{file_name_without_extension}_0.md", output_file)
177+
if markdown_too_large_for_issue_body(output_file_name, max_char_count):
178+
split_markdown_file(output_file_name, max_char_count)
179+
shutil.move(output_file_name, f"{file_name_without_extension}_full.md")
180+
shutil.move(f"{file_name_without_extension}_0.md", output_file_name)
180181
print(
181182
f"Issue metrics markdown file is too large for GitHub issue body and has been \
182-
split into multiple files. ie. {output_file}, {file_name_without_extension}_1.md, etc. \
183+
split into multiple files. ie. {output_file_name}, {file_name_without_extension}_1.md, etc. \
183184
The full file is saved as {file_name_without_extension}_full.md\n\
184185
See https://github.com/github/issue-metrics/blob/main/docs/dealing-with-large-issue-metrics.md"
185186
)

Diff for: test_issue_metrics.py

+12
Original file line numberDiff line numberDiff line change
@@ -482,6 +482,18 @@ def test_get_per_issue_metrics_with_discussion_with_hide_envs(self):
482482
class TestEvaluateMarkdownFileSize(unittest.TestCase):
483483
"""Test suite for the evaluate_markdown_file_size function."""
484484

485+
@patch("issue_metrics.markdown_too_large_for_issue_body")
486+
def test_markdown_too_large_for_issue_body_called_with_empty_output_file(
487+
self, mock_evaluate
488+
):
489+
"""
490+
Test that the function uses the output_file.
491+
"""
492+
mock_evaluate.return_value = False
493+
evaluate_markdown_file_size("")
494+
495+
mock_evaluate.assert_called_with("issue_metrics.md", 65535)
496+
485497
@patch("issue_metrics.markdown_too_large_for_issue_body")
486498
def test_markdown_too_large_for_issue_body_called_with_output_file(
487499
self, mock_evaluate

0 commit comments

Comments
 (0)