Mercurial > libervia-backend
diff frontends/src/jp/base.py @ 2187:4ec72927a222
jp (outputs): moved output options parsing and checking to base methods
author | Goffi <goffi@goffi.org> |
---|---|
date | Sun, 12 Mar 2017 23:31:06 +0100 |
parents | b9bfc45cea22 |
children | 052d560d0dce |
line wrap: on
line diff
--- a/frontends/src/jp/base.py Sun Mar 12 23:29:09 2017 +0100 +++ b/frontends/src/jp/base.py Sun Mar 12 23:31:06 2017 +0100 @@ -318,6 +318,24 @@ 'description': description } + def parse_output_options(self): + options = self.command.args.output_opts + options_dict = {} + for option in options: + try: + key, value = option.split(u'=', 1) + except ValueError: + key, value = option, None + options_dict[key.strip()] = value.strip() if value is not None else None + return options_dict + + def check_output_options(self, accepted_set, options): + if not accepted_set.issuperset(options): + self.disp(u"The following output options are invalid: {invalid_options}".format( + invalid_options = u', '.join(set(options).difference(accepted_set))), + error=True) + self.quit(C.EXIT_BAD_ARG) + def import_plugins(self): """Automaticaly import commands and outputs in jp