Skip to content

Commit f43ecbd

Browse files
author
Gabriel Monroy
committed
Merge pull request #103 from opdemand/68-cli-stacktrace
Fixed #68 -- better CLI handling of EnvironmentErrors.
2 parents fcc559e + 6fab360 commit f43ecbd

1 file changed

Lines changed: 8 additions & 5 deletions

File tree

client/deis.py

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -244,7 +244,11 @@ def _dispatch(self, method, path, body=None,
244244
Dispatch an API request to the active Deis controller
245245
"""
246246
func = getattr(self._session, method.lower())
247-
url = urlparse.urljoin(self._settings['controller'], path, **kwargs)
247+
controller = self._settings['controller']
248+
if not controller:
249+
raise EnvironmentError(
250+
'No active controller. Use `deis login` or `deis register` to get started.')
251+
url = urlparse.urljoin(controller, path, **kwargs)
248252
response = func(url, data=body, headers=headers)
249253
return response
250254

@@ -656,7 +660,7 @@ def formations_create(self, args):
656660
try:
657661
self._session.git_root() # check for a git repository
658662
except EnvironmentError:
659-
print 'No git repository found, use `git init` to create one'
663+
print 'No git repository found, use `git init` to create one.'
660664
return
661665
for opt in ('--id',):
662666
o = args.get(opt)
@@ -1355,9 +1359,8 @@ def main():
13551359
# dispatch the CLI command
13561360
try:
13571361
method(args)
1358-
except EnvironmentError:
1359-
print 'Could not find git remote for deis'
1360-
raise DocoptExit()
1362+
except EnvironmentError as err:
1363+
raise DocoptExit(err.message)
13611364

13621365

13631366
if __name__ == '__main__':

0 commit comments

Comments
 (0)