Skip to content

Commit a3156b7

Browse files
authored
Merge pull request #96 from blackducksoftware/custom_signatures
Error handling added for initial authentication and for custom signature import example
2 parents 91b45b6 + 9369c89 commit a3156b7

File tree

2 files changed

+22
-11
lines changed

2 files changed

+22
-11
lines changed

blackduck/HubRestApi.py

Lines changed: 6 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"

examples/custom_signatures_import.py

Lines changed: 16 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:
@@ -131,7 +137,7 @@ def main(argv=None): # IGNORE:C0111
131137
return 0
132138
except Exception as e:
133139
import traceback
134-
traceback.print_exc()
140+
traceback.print_stack()
135141
if DEBUG or TESTRUN:
136142
raise(e)
137143
indent = len(program_name) * " "

0 commit comments

Comments
 (0)