narrow the scope of import error and make sure non - aliases to ansible get their own error

This commit is contained in:
Brian Coca 2015-11-02 22:17:13 -05:00
parent a7d1a39b81
commit 10fd717a44

View file

@ -71,11 +71,15 @@ if __name__ == '__main__':
mycli = getattr(__import__("ansible.cli.%s" % sub, fromlist=[myclass]), myclass) mycli = getattr(__import__("ansible.cli.%s" % sub, fromlist=[myclass]), myclass)
elif me == 'ansible': elif me == 'ansible':
from ansible.cli.adhoc import AdHocCLI as mycli from ansible.cli.adhoc import AdHocCLI as mycli
else:
raise AnsibleError("Unknown Ansible alias: %s" % me)
except ImportError as e:
if e.message.endswith(' %s' % sub):
raise AnsibleError("Ansible sub-program not implemented: %s" % me)
else:
raise
cli = mycli(sys.argv, display=display) cli = mycli(sys.argv, display=display)
except (ImportError,NameError):
raise AnsibleError("Ansible sub-program not implemented: %s" % me)
cli.parse() cli.parse()
sys.exit(cli.run()) sys.exit(cli.run())