From acb7b4c9e98800588769b634de3616e3044957f5 Mon Sep 17 00:00:00 2001 From: Romain Bignon Date: Sat, 4 Apr 2015 12:38:49 +0200 Subject: [PATCH] update help of "add" command, and improve code --- weboob/applications/weboobcfg/weboobcfg.py | 27 ++++++++++++---------- 1 file changed, 15 insertions(+), 12 deletions(-) diff --git a/weboob/applications/weboobcfg/weboobcfg.py b/weboob/applications/weboobcfg/weboobcfg.py index b5ea584b..0c9d66f3 100644 --- a/weboob/applications/weboobcfg/weboobcfg.py +++ b/weboob/applications/weboobcfg/weboobcfg.py @@ -93,25 +93,24 @@ class WeboobCfg(ReplApplication): def do_add(self, line): """ - add NAME [OPTIONS ...] + add MODULE_NAME [BACKEND_NAME] [PARAMETERS ...] - Add a backend. + Create a backend from a module. By default, if BACKEND_NAME is omitted, + that's the module name which is used. + + You can specify parameters from command line in form "key=value". """ if not line: print('You must specify a module name. Hint: use the "modules" command.', file=self.stderr) return 2 + module_name, options = self.parse_command_args(line, 2, 1) if options: options = options.split(' ') else: options = () - backend_name = module_name - try: - k, v = options[0].split('=',1) - except ValueError: - backend_name = options[0] - del options[0] + backend_name = None params = {} # set backend params from command-line arguments @@ -119,11 +118,15 @@ class WeboobCfg(ReplApplication): try: key, value = option.split('=', 1) except ValueError: - print('Parameters have to be formatted "key=value"', file=self.stderr) - return 2 - params[key] = value + if backend_name is None: + backend_name = option + else: + print('Parameters have to be formatted "key=value"', file=self.stderr) + return 2 + else: + params[key] = value - self.add_backend(module_name, backend_name, params) + self.add_backend(module_name, backend_name or module_name, params) def do_register(self, line): """