From 94235f473655ecd0559a7b0dcd73bcb4abab89f8 Mon Sep 17 00:00:00 2001 From: Ryan Petrello Date: Thu, 15 Aug 2019 13:21:46 -0400 Subject: [PATCH] prevent `awx -h` CLI command from printing a scary connection error --- awxkit/awxkit/cli/client.py | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/awxkit/awxkit/cli/client.py b/awxkit/awxkit/cli/client.py index 15aa753df4..a0b006761a 100755 --- a/awxkit/awxkit/cli/client.py +++ b/awxkit/awxkit/cli/client.py @@ -3,6 +3,8 @@ import os import pkg_resources import sys +from requests.exceptions import RequestException + from .custom import handle_custom_actions from .format import (add_authentication_arguments, add_output_formatting_arguments, @@ -112,7 +114,17 @@ class CLI(object): # ...otherwise, set up a awxkit connection because we're # likely about to do some requests to /api/v2/ self.root = api.Api() - self.fetch_version_root() + try: + self.fetch_version_root() + except RequestException: + # If we can't reach the API root (this usually means that the + # hostname is wrong, or the credentials are wrong) + if self.help: + # ...but the user specified -h... + known, unknown = self.parser.parse_known_args(self.argv) + if len(unknown) == 1 and os.path.basename(unknown[0]) == 'awx': + return + raise def fetch_version_root(self): self.v2 = self.root.get().available_versions.v2.get()