diff --git a/mitel_ommclient2/cli.py b/mitel_ommclient2/cli.py index 416ecb3..c3f9a0c 100755 --- a/mitel_ommclient2/cli.py +++ b/mitel_ommclient2/cli.py @@ -6,7 +6,7 @@ import time import traceback from . import OMMClient2 -from .exceptions import ENoEnt +from .exceptions import EAuth, ENoEnt from .messages import GetAccount, Ping # exit handling with argparse is a bit broken even with exit_on_error=False, so we hack this @@ -40,7 +40,14 @@ def main(): if not password: password = getpass.getpass(prompt="OMM password for {}@{}:".format(username, hostname)) - c = OMMClient2(hostname, username, password, ommsync=ommsync) + try: + c = OMMClient2(hostname, username, password, ommsync=ommsync) + except EAuth: + print("Authentication failed") + exit(1) + except TimeoutError: + print("OMM unreachable") + exit(1) parser = argparse.ArgumentParser(prog="ommclient2", add_help=False, exit_on_error=False) subparsers = parser.add_subparsers()