Skip to content

Commit 885c792

Browse files
committed
results: fix --json flag for issues command
The `kci-dev results issues --json` command was not outputting JSON format. The --json flag was accepted but the print_issues() function did not have a use_json parameter, so it always printed text format. Signed-off-by: Ben Copeland <ben.copeland@linaro.org>
1 parent 8336453 commit 885c792

2 files changed

Lines changed: 16 additions & 2 deletions

File tree

kcidev/subcommands/results/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -909,7 +909,7 @@ def issues(
909909
if not new and not missing:
910910
if not any([giturl, branch, commit]):
911911
data = dashboard_fetch_issue_list(origin, days, use_json)
912-
print_issues(data)
912+
print_issues(data, use_json)
913913
return
914914
if not all([giturl, branch, commit]):
915915
raise click.UsageError(

kcidev/subcommands/results/parser.py

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -997,14 +997,28 @@ def print_issue(issue, new_tag=False):
997997
kci_msg("")
998998

999999

1000-
def print_issues(data):
1000+
def print_issues(data, use_json=False):
10011001
"""Print a list of issues with formatting
10021002
data (dict): provide dictionary with 'issues' and 'extras' keys"""
10031003

10041004
if not data.get("issues") or not data.get("extras"):
10051005
kci_err("Please provide dictionary with 'issues' and 'extras' keys")
10061006
return
10071007

1008+
if use_json:
1009+
# Build JSON output with issues and their extras merged
1010+
output = []
1011+
issues = data["issues"]
1012+
extras = data["extras"]
1013+
for issue in issues:
1014+
issue_data = dict(issue)
1015+
extra = extras.get(issue.get("id"))
1016+
if extra:
1017+
issue_data["extra"] = {issue["id"]: extra}
1018+
output.append(issue_data)
1019+
kci_msg_json(output)
1020+
return
1021+
10081022
issues = data["issues"]
10091023
extras = data["extras"]
10101024
for issue in issues:

0 commit comments

Comments
 (0)