diff --git a/src/wstool/cli_common.py b/src/wstool/cli_common.py index d231dfa..f87c549 100644 --- a/src/wstool/cli_common.py +++ b/src/wstool/cli_common.py @@ -41,7 +41,7 @@ from optparse import OptionParser from wstool.common import samefile, MultiProjectException, select_elements -ONLY_OPTION_VALID_ATTRS = ['path', 'localname', 'version', +ONLY_OPTION_VALID_ATTRS = ['path', 'localname', 'version', 'cur_version', 'revision', 'cur_revision', 'uri', 'cur_uri', 'scmtype'] @@ -413,9 +413,9 @@ def get_info_table_raw_csv(config, properties, localnames): lookup_required = False for attr in properties: if not attr in ONLY_OPTION_VALID_ATTRS: - parser.error("Invalid --only option '%s', valids are %s" % - (attr, ONLY_OPTION_VALID_ATTRS)) - if attr in ['cur_revision', 'cur_uri', 'revision']: + OptionParser().error("Invalid --only option '%s', valids are %s" % + (attr, ONLY_OPTION_VALID_ATTRS)) + if attr in ['cur_revision', 'cur_uri', 'revision', 'cur_version']: lookup_required = True elements = select_elements(config, localnames) result=[] @@ -436,6 +436,8 @@ def get_info_table_raw_csv(config, properties, localnames): output.append(spec.get_uri() or '') if 'version' == attr: output.append(spec.get_version() or '') + if 'cur_version' == attr: + output.append(spec.get_curr_version() or '') if 'revision' == attr: output.append(spec.get_revision() or '') if 'cur_uri' == attr: diff --git a/src/wstool/multiproject_cli.py b/src/wstool/multiproject_cli.py index 2ea75e2..2bbaa15 100644 --- a/src/wstool/multiproject_cli.py +++ b/src/wstool/multiproject_cli.py @@ -1204,6 +1204,10 @@ def cmd_info(self, target_path, argv, reverse=True, config=None): only_options = options.only.split(",") if only_options == '': parser.error('No valid options given') + for attr in only_options: + if attr not in ONLY_OPTION_VALID_ATTRS: + parser.error("Invalid --only option '%s', valids are %s" % + (attr, ONLY_OPTION_VALID_ATTRS)) lines = get_info_table_raw_csv(config, properties=only_options, localnames=args)