diff --git a/ifupdown2/__main__.py b/ifupdown2/__main__.py index 76b5183..073a14b 100755 --- a/ifupdown2/__main__.py +++ b/ifupdown2/__main__.py @@ -46,7 +46,7 @@ try: from ifupdown2.lib.exceptions import ExitWithStatus, ExitWithStatusAndError from ifupdown2.ifupdown.client import Client - from ifupdown2.ifupdown.exceptions import ArgvParseHelp + from ifupdown2.ifupdown.exceptions import ArgvParseHelp, ArgvParseError except: import ifupdown.config as config @@ -55,7 +55,7 @@ except: from lib.exceptions import ExitWithStatus, ExitWithStatusAndError from ifupdown.client import Client - from ifupdown.exceptions import ArgvParseHelp + from ifupdown.exceptions import ArgvParseHelp, ArgvParseError def daemon_mode(): @@ -92,6 +92,9 @@ def stand_alone(): try: ifupdown2.parse_argv(sys.argv) LogManager.get_instance().start_standalone_logging(ifupdown2.args) + except ArgvParseError as e: + LogManager.get_instance().root_logger().error(str(e)) + return Status.Client.STATUS_ARGV_ERROR except ArgvParseHelp: # on --help parse_args raises SystemExit, we catch it and raise a # custom exception ArgvParseHelp to return 0 diff --git a/ifupdown2/lib/log.py b/ifupdown2/lib/log.py index 5741900..d3580b1 100644 --- a/ifupdown2/lib/log.py +++ b/ifupdown2/lib/log.py @@ -228,3 +228,6 @@ class LogManager: def write(self, msg): root_logger.info(msg) + + def root_logger(self): + return self.__root_logger diff --git a/ifupdown2/lib/status.py b/ifupdown2/lib/status.py index 3ce9f05..cda5ff9 100644 --- a/ifupdown2/lib/status.py +++ b/ifupdown2/lib/status.py @@ -38,6 +38,8 @@ class Status(object): STATUS_NLERROR = 96 STATUS_EXCEPTION_MAIN = 99 + STATUS_ARGV_ERROR = 90 + class Daemon(object): STATUS_SUCCESS = 0 STATUS_INIT = 101