Skip to content

Commit 0c6520b

Browse files
Merge pull request #2147 from allmightyspiff/emploginupdates
Emploginupdates
2 parents 6ce7991 + c753641 commit 0c6520b

File tree

3 files changed

+21
-10
lines changed

3 files changed

+21
-10
lines changed

Diff for: SoftLayer/API.py

+11-6
Original file line numberDiff line numberDiff line change
@@ -191,7 +191,7 @@ def employee_client(username=None,
191191
if url is not None and '/rest' in url:
192192
# If this looks like a rest endpoint, use the rest transport
193193
transport = transports.RestTransport(
194-
endpoint_url=settings.get('endpoint_url'),
194+
endpoint_url=url,
195195
proxy=settings.get('proxy'),
196196
timeout=settings.get('timeout'),
197197
user_agent=user_agent,
@@ -200,7 +200,7 @@ def employee_client(username=None,
200200
else:
201201
# Default the transport to use XMLRPC
202202
transport = transports.XmlRpcTransport(
203-
endpoint_url=settings.get('endpoint_url'),
203+
endpoint_url=url,
204204
proxy=settings.get('proxy'),
205205
timeout=settings.get('timeout'),
206206
user_agent=user_agent,
@@ -215,11 +215,11 @@ def employee_client(username=None,
215215
# Assume access_token is valid for now, user has logged in before at least.
216216
if access_token and user_id:
217217
auth = slauth.EmployeeAuthentication(user_id, access_token)
218-
return EmployeeClient(auth=auth, transport=transport)
218+
return EmployeeClient(auth=auth, transport=transport, config_file=config_file)
219219
else:
220220
# This is for logging in mostly.
221221
LOGGER.info("No access_token or userid found in settings, creating a No Auth client for now.")
222-
return EmployeeClient(auth=None, transport=transport)
222+
return EmployeeClient(auth=None, transport=transport, config_file=config_file)
223223

224224

225225
def Client(**kwargs):
@@ -250,6 +250,11 @@ def __setAuth(self, auth=None):
250250

251251
def __setTransport(self, transport=None):
252252
"""Prepares the transport property"""
253+
verify = self.settings['softlayer'].get('verify')
254+
if verify == "False":
255+
verify = False
256+
elif verify == "True":
257+
verify = True
253258
if transport is None:
254259
url = self.settings['softlayer'].get('endpoint_url')
255260
if url is not None and '/rest' in url:
@@ -260,7 +265,7 @@ def __setTransport(self, transport=None):
260265
# prevents an exception incase timeout is a float number.
261266
timeout=int(self.settings['softlayer'].getfloat('timeout', 0)),
262267
user_agent=consts.USER_AGENT,
263-
verify=self.settings['softlayer'].getboolean('verify'),
268+
verify=verify,
264269
)
265270
else:
266271
# Default the transport to use XMLRPC
@@ -269,7 +274,7 @@ def __setTransport(self, transport=None):
269274
proxy=self.settings['softlayer'].get('proxy'),
270275
timeout=int(self.settings['softlayer'].getfloat('timeout', 0)),
271276
user_agent=consts.USER_AGENT,
272-
verify=self.settings['softlayer'].getboolean('verify'),
277+
verify=verify,
273278
)
274279

275280
self.transport = transport

Diff for: SoftLayer/CLI/login.py

+2-3
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@
88
from SoftLayer.CLI.command import SLCommand as SLCommand
99
from SoftLayer.CLI import environment
1010
from SoftLayer import config
11-
from SoftLayer import consts
1211

1312

1413
def censor_password(value):
@@ -31,7 +30,7 @@ def cli(env):
3130
username = settings.get('username') or os.environ.get('SLCLI_USER', None)
3231
password = os.environ.get('SLCLI_PASSWORD', '')
3332
yubi = None
34-
client = employee_client()
33+
client = employee_client(config_file=env.config_file)
3534

3635
# Might already be logged in, try and refresh token
3736
if settings.get('access_token') and settings.get('userid'):
@@ -49,7 +48,7 @@ def cli(env):
4948
except Exception as ex:
5049
print("Error with Hash Authentication, try with password: {}".format(ex))
5150

52-
url = settings.get('endpoint_url') or consts.API_EMPLOYEE_ENDPOINT
51+
url = settings.get('endpoint_url')
5352
click.echo("URL: {}".format(url))
5453
if username is None:
5554
username = input("Username: ")

Diff for: SoftLayer/config.py

+8-1
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ def get_client_settings_config_file(**kwargs): # pylint: disable=inconsistent-r
6666
config.read(config_files)
6767

6868
if config.has_section('softlayer'):
69-
return {
69+
r_config = {
7070
'endpoint_url': config.get('softlayer', 'endpoint_url'),
7171
'timeout': config.getfloat('softlayer', 'timeout'),
7272
'proxy': config.get('softlayer', 'proxy'),
@@ -76,6 +76,13 @@ def get_client_settings_config_file(**kwargs): # pylint: disable=inconsistent-r
7676
'access_token': config.get('softlayer', 'access_token'),
7777
'verify': config.get('softlayer', 'verify')
7878
}
79+
if r_config["verify"].lower() == "true":
80+
r_config["verify"] = True
81+
elif r_config["verify"].lower() == "false":
82+
r_config["verify"] = False
83+
elif isinstance(r_config["verify"], str):
84+
os.environ['SSL_CERT_FILE'] = r_config["verify"]
85+
return r_config
7986

8087

8188
SETTING_RESOLVERS = [get_client_settings_args,

0 commit comments

Comments
 (0)