From 82d8016670a1be883186a9c1f2b52ee696bcf8e1 Mon Sep 17 00:00:00 2001 From: mprahl Date: Thu, 25 Apr 2019 09:59:00 -0400 Subject: [PATCH 1/3] Only import the auth library that gets used in mbs-cli This is done so that unused libraries aren't required dependencies. --- client/mbs-cli | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/client/mbs-cli b/client/mbs-cli index 63e0eb48..81bfe513 100755 --- a/client/mbs-cli +++ b/client/mbs-cli @@ -31,10 +31,8 @@ import json import requests import argparse import sys -import openidc_client import requests.exceptions from six.moves import urllib_parse -import requests_kerberos env_config = { @@ -160,6 +158,7 @@ class MBSCli(object): if self._auth_mech == AuthMech.OpenIDC: headers['Authorization'] = 'Bearer {0}'.format(self._openidc_token) elif self._auth_mech == AuthMech.Kerberos: + import requests_kerberos # MBS server does not support mutual auth, so make it optional. request_data['auth'] = requests_kerberos.HTTPKerberosAuth( mutual_authentication=requests_kerberos.OPTIONAL) @@ -268,6 +267,11 @@ def create_mbs_client(args): openidc_token=None if auth_mech == AuthMech.OpenIDC: + try: + import openidc_client + except ImportError: + print('The python-openidc-client package must be installed', file=sys.stderr) + sys.exit(1) id_provider = id_provider_config[args.env] # Get the auth token using the OpenID client. @@ -292,6 +296,12 @@ def create_mbs_client(args): raise return MBSCli(mbs_url, auth_mech=auth_mech, openidc_token=token) + elif auth_mech == AuthMech.Kerberos: + try: + import requests_kerberos # noqa + except ImportError: + print('The python-requests-kerberos package must be installed', file=sys.stderr) + sys.exit(1) return MBSCli(mbs_url, auth_mech=auth_mech, openidc_token=openidc_token) From 4715d6aac24c501ee545d2ca74acbdb4f129fa0c Mon Sep 17 00:00:00 2001 From: mprahl Date: Thu, 25 Apr 2019 09:59:51 -0400 Subject: [PATCH 2/3] Fix flake8 errors in mbs-cli --- client/mbs-cli | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/client/mbs-cli b/client/mbs-cli index 81bfe513..3bdbc8e0 100755 --- a/client/mbs-cli +++ b/client/mbs-cli @@ -30,7 +30,6 @@ from pprint import pprint import json import requests import argparse -import sys import requests.exceptions from six.moves import urllib_parse @@ -264,7 +263,7 @@ def create_mbs_client(args): mbs_url = args.server auth_mech = MBSCli.get_auth_mech(mbs_url) - openidc_token=None + openidc_token = None if auth_mech == AuthMech.OpenIDC: try: From 7cbba8e7806a00cdb6f63726bb1faa86b052cc82 Mon Sep 17 00:00:00 2001 From: mprahl Date: Thu, 25 Apr 2019 10:02:33 -0400 Subject: [PATCH 3/3] Rearrange the imports in mbs-cli --- client/mbs-cli | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/client/mbs-cli b/client/mbs-cli index 3bdbc8e0..19a5c0eb 100755 --- a/client/mbs-cli +++ b/client/mbs-cli @@ -24,12 +24,13 @@ # Jan Kaluza from __future__ import print_function -import sys -import enum -from pprint import pprint -import json -import requests import argparse +import enum +import json +from pprint import pprint +import sys + +import requests import requests.exceptions from six.moves import urllib_parse