13
13
14
14
def _dashboard_request (func ):
15
15
@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
+ ):
17
19
base_url = urllib .parse .urljoin (DASHBOARD_API , endpoint )
18
20
url = "{}?{}" .format (base_url , urllib .parse .urlencode (params ))
19
21
retries = 0
@@ -53,11 +55,12 @@ def wrapper(endpoint, params, use_json, body=None, max_retries=3):
53
55
logging .debug (f"Response data size: { len (json .dumps (data ))} bytes" )
54
56
55
57
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" ]))
61
64
raise click .ClickException (data .get ("error" ))
62
65
63
66
logging .info (f"Successfully completed { func .__name__ } request" )
@@ -81,7 +84,7 @@ def dashboard_api_post(endpoint, params, use_json, body, max_retries=3):
81
84
82
85
83
86
@_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 ):
85
88
return requests .get (endpoint )
86
89
87
90
@@ -115,7 +118,16 @@ def dashboard_fetch_commits_history(origin, giturl, branch, commit, use_json):
115
118
116
119
117
120
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 ,
119
131
):
120
132
endpoint = f"tree/{ commit } /builds"
121
133
params = {
@@ -136,7 +148,7 @@ def dashboard_fetch_builds(
136
148
logging .debug (
137
149
f"Filters: arch={ arch } , tree={ tree } , start_date={ start_date } , end_date={ end_date } "
138
150
)
139
- return dashboard_api_fetch (endpoint , params , use_json )
151
+ return dashboard_api_fetch (endpoint , params , use_json , error_verbose = error_verbose )
140
152
141
153
142
154
def dashboard_fetch_boots (
@@ -150,6 +162,7 @@ def dashboard_fetch_boots(
150
162
end_date ,
151
163
use_json ,
152
164
boot_origin ,
165
+ error_verbose = True ,
153
166
):
154
167
endpoint = f"tree/{ commit } /boots"
155
168
params = {
@@ -172,7 +185,7 @@ def dashboard_fetch_boots(
172
185
logging .debug (
173
186
f"Filters: arch={ arch } , tree={ tree } , start_date={ start_date } , end_date={ end_date } "
174
187
)
175
- return dashboard_api_fetch (endpoint , params , use_json )
188
+ return dashboard_api_fetch (endpoint , params , use_json , error_verbose = error_verbose )
176
189
177
190
178
191
def dashboard_fetch_tests (
@@ -283,23 +296,24 @@ def dashboard_fetch_hardware_tests(name, origin, use_json):
283
296
)
284
297
285
298
286
- def dashboard_fetch_build_issues (build_id , use_json ):
299
+ def dashboard_fetch_build_issues (build_id , use_json , error_verbose ):
287
300
endpoint = f"build/{ build_id } /issues"
288
301
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 )
290
303
291
304
292
- def dashboard_fetch_boot_issues (test_id , use_json ):
305
+ def dashboard_fetch_boot_issues (test_id , use_json , error_verbose ):
293
306
endpoint = f"test/{ test_id } /issues"
294
307
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 )
296
309
297
310
298
311
def dashboard_fetch_issue_list (origin , days , use_json ):
299
312
params = {
300
- "filter_origin" : origin ,
301
313
"interval_in_days" : days ,
302
314
}
315
+ if origin :
316
+ params ["filter_origin" ] = origin
303
317
logging .info (f"Fetching issue list for origin: { origin } " )
304
318
return dashboard_api_fetch ("issue/" , params , use_json )
305
319
@@ -309,16 +323,20 @@ def dashboard_fetch_issue(issue_id, use_json):
309
323
return dashboard_api_fetch (f"issue/{ issue_id } " , {}, use_json )
310
324
311
325
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 ):
313
327
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
+ )
316
332
317
333
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 ):
319
335
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
+ )
322
340
323
341
324
342
def dashboard_fetch_issues_extra (issues , use_json ):
0 commit comments