Skip to content

Commit b8e8689

Browse files
authored
Merge pull request #210 from JenySadadia/restructure-issues-cmd
Restructure `issues` commands
2 parents 66f86b1 + 5256faf commit b8e8689

File tree

4 files changed

+520
-199
lines changed

4 files changed

+520
-199
lines changed

kcidev/libs/dashboard.py

Lines changed: 39 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,9 @@
1313

1414
def _dashboard_request(func):
1515
@wraps(func)
16-
def wrapper(endpoint, params, use_json, body=None, max_retries=3):
16+
def wrapper(
17+
endpoint, params, use_json, body=None, max_retries=3, error_verbose=True
18+
):
1719
base_url = urllib.parse.urljoin(DASHBOARD_API, endpoint)
1820
url = "{}?{}".format(base_url, urllib.parse.urlencode(params))
1921
retries = 0
@@ -53,11 +55,12 @@ def wrapper(endpoint, params, use_json, body=None, max_retries=3):
5355
logging.debug(f"Response data size: {len(json.dumps(data))} bytes")
5456

5557
if "error" in data:
56-
logging.error(f"API returned error: {data.get('error')}")
57-
if use_json:
58-
kci_msg(data)
59-
else:
60-
kci_msg("json error: " + str(data["error"]))
58+
if error_verbose:
59+
logging.error(f"API returned error: {data.get('error')}")
60+
if use_json:
61+
kci_msg(data)
62+
else:
63+
kci_msg("json error: " + str(data["error"]))
6164
raise click.ClickException(data.get("error"))
6265

6366
logging.info(f"Successfully completed {func.__name__} request")
@@ -81,7 +84,7 @@ def dashboard_api_post(endpoint, params, use_json, body, max_retries=3):
8184

8285

8386
@_dashboard_request
84-
def dashboard_api_fetch(endpoint, params, use_json, max_retries=3):
87+
def dashboard_api_fetch(endpoint, params, use_json, max_retries=3, error_verbose=True):
8588
return requests.get(endpoint)
8689

8790

@@ -115,7 +118,16 @@ def dashboard_fetch_commits_history(origin, giturl, branch, commit, use_json):
115118

116119

117120
def dashboard_fetch_builds(
118-
origin, giturl, branch, commit, arch, tree, start_date, end_date, use_json
121+
origin,
122+
giturl,
123+
branch,
124+
commit,
125+
arch,
126+
tree,
127+
start_date,
128+
end_date,
129+
use_json,
130+
error_verbose=True,
119131
):
120132
endpoint = f"tree/{commit}/builds"
121133
params = {
@@ -136,7 +148,7 @@ def dashboard_fetch_builds(
136148
logging.debug(
137149
f"Filters: arch={arch}, tree={tree}, start_date={start_date}, end_date={end_date}"
138150
)
139-
return dashboard_api_fetch(endpoint, params, use_json)
151+
return dashboard_api_fetch(endpoint, params, use_json, error_verbose=error_verbose)
140152

141153

142154
def dashboard_fetch_boots(
@@ -150,6 +162,7 @@ def dashboard_fetch_boots(
150162
end_date,
151163
use_json,
152164
boot_origin,
165+
error_verbose=True,
153166
):
154167
endpoint = f"tree/{commit}/boots"
155168
params = {
@@ -172,7 +185,7 @@ def dashboard_fetch_boots(
172185
logging.debug(
173186
f"Filters: arch={arch}, tree={tree}, start_date={start_date}, end_date={end_date}"
174187
)
175-
return dashboard_api_fetch(endpoint, params, use_json)
188+
return dashboard_api_fetch(endpoint, params, use_json, error_verbose=error_verbose)
176189

177190

178191
def dashboard_fetch_tests(
@@ -283,23 +296,24 @@ def dashboard_fetch_hardware_tests(name, origin, use_json):
283296
)
284297

285298

286-
def dashboard_fetch_build_issues(build_id, use_json):
299+
def dashboard_fetch_build_issues(build_id, use_json, error_verbose):
287300
endpoint = f"build/{build_id}/issues"
288301
logging.info(f"Fetching build issues for build ID: {build_id}")
289-
return dashboard_api_fetch(endpoint, {}, use_json)
302+
return dashboard_api_fetch(endpoint, {}, use_json, error_verbose=error_verbose)
290303

291304

292-
def dashboard_fetch_boot_issues(test_id, use_json):
305+
def dashboard_fetch_boot_issues(test_id, use_json, error_verbose):
293306
endpoint = f"test/{test_id}/issues"
294307
logging.info(f"Fetching test issues for test ID: {test_id}")
295-
return dashboard_api_fetch(endpoint, {}, use_json)
308+
return dashboard_api_fetch(endpoint, {}, use_json, error_verbose=error_verbose)
296309

297310

298311
def dashboard_fetch_issue_list(origin, days, use_json):
299312
params = {
300-
"filter_origin": origin,
301313
"interval_in_days": days,
302314
}
315+
if origin:
316+
params["filter_origin"] = origin
303317
logging.info(f"Fetching issue list for origin: {origin}")
304318
return dashboard_api_fetch("issue/", params, use_json)
305319

@@ -309,16 +323,20 @@ def dashboard_fetch_issue(issue_id, use_json):
309323
return dashboard_api_fetch(f"issue/{issue_id}", {}, use_json)
310324

311325

312-
def dashboard_fetch_issue_builds(origin, issue_id, use_json):
326+
def dashboard_fetch_issue_builds(origin, issue_id, use_json, error_verbose=True):
313327
logging.info(f"Fetching builds for issue ID: {issue_id}")
314-
params = {"filter_origin": origin}
315-
return dashboard_api_fetch(f"issue/{issue_id}/builds", params, use_json)
328+
params = {"filter_origin": origin} if origin else {}
329+
return dashboard_api_fetch(
330+
f"issue/{issue_id}/builds", params, use_json, error_verbose=error_verbose
331+
)
316332

317333

318-
def dashboard_fetch_issue_tests(origin, issue_id, use_json):
334+
def dashboard_fetch_issue_tests(origin, issue_id, use_json, error_verbose=True):
319335
logging.info(f"Fetching tests for issue ID: {issue_id}")
320-
params = {"filter_origin": origin}
321-
return dashboard_api_fetch(f"issue/{issue_id}/tests", params, use_json)
336+
params = {"filter_origin": origin} if origin else {}
337+
return dashboard_api_fetch(
338+
f"issue/{issue_id}/tests", params, use_json, error_verbose=error_verbose
339+
)
322340

323341

324342
def dashboard_fetch_issues_extra(issues, use_json):

0 commit comments

Comments
 (0)