From 6a11b89e1729c6ac06efba1e75405e1ecd24dc8a Mon Sep 17 00:00:00 2001 From: Julien Thewys Date: Wed, 9 Feb 2011 11:07:35 +0100 Subject: [PATCH] [FIX] ensures no illegitimate cli argument is silently discarded This avoids an insidious behavior: when copy-pasting a command from a Microsoft document to the cmd terminal, one might not see that a hyphen ('-') preceding an option has been converted to a dash (u'\u2012') which is then interpreted as a normal cli argument (i.e. not an option) and thus silently discarded. bzr revid: jth@openerp.com-20110209100735-jaschhlv3cfqjry5 --- openerp/tools/config.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/openerp/tools/config.py b/openerp/tools/config.py index 7d0b04739e4..626720a43c2 100644 --- a/openerp/tools/config.py +++ b/openerp/tools/config.py @@ -251,12 +251,14 @@ class configmanager(object): self.parse_config() def parse_config(self, args=[]): - opt = self.parser.parse_args(args)[0] + opt, args = self.parser.parse_args() def die(cond, msg): if cond: - print msg - sys.exit(1) + self.parser.error(msg) + + # Ensures no illegitimate argument is silently discarded (avoids insidious "hyphen to dash" problem) + die(args, "unrecognized parameters were passed: '%s'" % " ".join(args)) die(bool(opt.syslog) and bool(opt.logfile), "the syslog and logfile options are exclusive")