Skip to content

Commit ee61333

Browse files
author
Murat Kumykov
committed
Error handling added
1 parent eb60926 commit ee61333

File tree

3 files changed

+28
-12
lines changed

3 files changed

+28
-12
lines changed

blackduck/HubRestApi.py

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -140,7 +140,12 @@ def get_auth_token(self):
140140
verify=not self.config['insecure']
141141
)
142142
csrf_token = response.headers['X-CSRF-TOKEN']
143-
bearer_token = json.loads(response.content.decode('utf-8'))['bearerToken']
143+
try:
144+
bearer_token = json.loads(response.content.decode('utf-8'))['bearerToken']
145+
except json.decoder.JSONDecodeError as e:
146+
import traceback
147+
traceback.print_exc()
148+
raise Exception("Failed to obtain bearer token, check for valid authentucation token")
144149
return (bearer_token, csrf_token, None)
145150
else:
146151
authendpoint="/j_spring_security_check"
@@ -667,6 +672,7 @@ def get_projects(self, limit=100, parameters={}):
667672
url = self._get_projects_url() + self._get_parameter_string(parameters)
668673
headers['Accept'] = 'application/vnd.blackducksoftware.project-detail-4+json'
669674
response = requests.get(url, headers=headers, verify = not self.config['insecure'])
675+
print (response)
670676
jsondata = response.json()
671677
return jsondata
672678

examples/custom_signatures_export.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -146,6 +146,8 @@ def main(argv=None): # IGNORE:C0111
146146
### handle keyboard interrupt ###
147147
return 0
148148
except Exception as e:
149+
import traceback
150+
traceback.print_exc()
149151
if DEBUG or TESTRUN:
150152
raise(e)
151153
indent = len(program_name) * " "
@@ -171,4 +173,4 @@ def main(argv=None): # IGNORE:C0111
171173
stats.print_stats()
172174
statsfile.close()
173175
sys.exit(0)
174-
sys.exit(main())
176+
sys.exit(main())

examples/custom_signatures_import.py

Lines changed: 18 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -60,15 +60,21 @@ def read_metadata_file(metadata_path):
6060
def create_projects(hub, metadata):
6161
for project_name in metadata['content']:
6262
for version_name in metadata['content'][project_name]:
63-
version = hub.get_or_create_project_version(project_name, version_name)
64-
project = hub.get_project_by_name(project_name)
65-
if not project['customSignatureEnabled']:
66-
print ("Enabling custom signature for {}".format(project['name']))
67-
project['customSignatureEnabled'] = True
68-
response = hub.update_project_settings(project, new_settings=project)
69-
print (response)
70-
else:
71-
print ("Custom signature for {} already enabled".format(project_name))
63+
try:
64+
version = hub.get_or_create_project_version(project_name, version_name)
65+
except:
66+
print ("Failed to create project {} version {}".format(project_name, version_name))
67+
try:
68+
project = hub.get_project_by_name(project_name)
69+
if not project['customSignatureEnabled']:
70+
print ("Enabling custom signature for {}".format(project['name']))
71+
project['customSignatureEnabled'] = True
72+
response = hub.update_project_settings(project, new_settings=project)
73+
print (response)
74+
else:
75+
print ("Custom signature for {} already enabled".format(project_name))
76+
except:
77+
print ("Failed to set custom signature flag for {}".format(project_name))
7278

7379
def upload_scan_data(hub, workdir):
7480
with (os.scandir(workdir)) as entries:
@@ -130,6 +136,8 @@ def main(argv=None): # IGNORE:C0111
130136

131137
return 0
132138
except Exception as e:
139+
import traceback
140+
traceback.print_stack()
133141
if DEBUG or TESTRUN:
134142
raise(e)
135143
indent = len(program_name) * " "
@@ -155,4 +163,4 @@ def main(argv=None): # IGNORE:C0111
155163
stats.print_stats()
156164
statsfile.close()
157165
sys.exit(0)
158-
sys.exit(main())
166+
sys.exit(main())

0 commit comments

Comments
 (0)