Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Help option results in exception on sfctl property put #91

Closed
mcollier opened this issue Apr 27, 2018 · 1 comment
Closed

Help option results in exception on sfctl property put #91

mcollier opened this issue Apr 27, 2018 · 1 comment

Comments

@mcollier
Copy link

Using sfctl version 4.0.0, setting the -h option on the sfctl property put command results in an error.

Expected

usage: sfctl property put [-h] [--verbose] [--debug]
                          [--output {json,jsonc,table,tsv}] [--query JMESPATH]
                          --name-id NAME_ID --property-name PROPERTY_NAME
                          --value VALUE [--custom-id-type CUSTOM_ID_TYPE]
                          [-t TIMEOUT]
sfctl property put: error: the following arguments are required: --name-id, --property-name, --value

Actual

C:\>sfctl property put -h
mapping values are not allowed here
  in "<unicode string>", line 17, column 30:
                and can be values: 'Binary', 'Int64', 'Double', ' ...
                                 ^
Traceback (most recent call last):
  File "c:\python\python36\lib\site-packages\knack\cli.py", line 125, in invoke
    cmd_result = self.invocation.execute(args)
  File "c:\python\python36\lib\site-packages\knack\invocation.py", line 78, in execute
    parsed_args = self.parser.parse_args(args)
  File "c:\python\python36\lib\argparse.py", line 1730, in parse_args
    args, argv = self.parse_known_args(args, namespace)
  File "c:\python\python36\lib\argparse.py", line 1762, in parse_known_args
    namespace, args = self._parse_known_args(args, namespace)
  File "c:\python\python36\lib\argparse.py", line 1950, in _parse_known_args
    positionals_end_index = consume_positionals(start_index)
  File "c:\python\python36\lib\argparse.py", line 1927, in consume_positionals
    take_action(action, args)
  File "c:\python\python36\lib\argparse.py", line 1836, in take_action
    action(self, namespace, argument_values, option_string)
  File "c:\python\python36\lib\argparse.py", line 1133, in __call__
    subnamespace, arg_strings = parser.parse_known_args(arg_strings, None)
  File "c:\python\python36\lib\argparse.py", line 1762, in parse_known_args
    namespace, args = self._parse_known_args(args, namespace)
  File "c:\python\python36\lib\argparse.py", line 1950, in _parse_known_args
    positionals_end_index = consume_positionals(start_index)
  File "c:\python\python36\lib\argparse.py", line 1927, in consume_positionals
    take_action(action, args)
  File "c:\python\python36\lib\argparse.py", line 1836, in take_action
    action(self, namespace, argument_values, option_string)
  File "c:\python\python36\lib\argparse.py", line 1133, in __call__
    subnamespace, arg_strings = parser.parse_known_args(arg_strings, None)
  File "c:\python\python36\lib\argparse.py", line 1762, in parse_known_args
    namespace, args = self._parse_known_args(args, namespace)
  File "c:\python\python36\lib\argparse.py", line 1968, in _parse_known_args
    start_index = consume_optional(start_index)
  File "c:\python\python36\lib\argparse.py", line 1908, in consume_optional
    take_action(action, args, option_string)
  File "c:\python\python36\lib\argparse.py", line 1836, in take_action
    action(self, namespace, argument_values, option_string)
  File "c:\python\python36\lib\argparse.py", line 1020, in __call__
    parser.print_help()
  File "c:\python\python36\lib\argparse.py", line 2362, in print_help
    self._print_message(self.format_help(), file)
  File "c:\python\python36\lib\site-packages\knack\parser.py", line 132, in format_help
    is_group)
  File "c:\python\python36\lib\site-packages\knack\help.py", line 22, in show_help
    help_file.load(parser)
  File "c:\python\python36\lib\site-packages\knack\help.py", line 296, in load
    self._load_from_file()
  File "c:\python\python36\lib\site-packages\knack\help.py", line 299, in _load_from_file
    file_data = _load_help_file(self.delimiters)
  File "c:\python\python36\lib\site-packages\knack\help_files.py", line 14, in _load_help_file
    return yaml.load(helps[delimiters])
  File "C:\Users\mcollier\AppData\Roaming\Python\Python36\site-packages\yaml\__init__.py", line 72, in load
    return loader.get_single_data()
  File "C:\Users\mcollier\AppData\Roaming\Python\Python36\site-packages\yaml\constructor.py", line 35, in get_single_data
    node = self.get_single_node()
  File "C:\Users\mcollier\AppData\Roaming\Python\Python36\site-packages\yaml\composer.py", line 36, in get_single_node
    document = self.compose_document()
  File "C:\Users\mcollier\AppData\Roaming\Python\Python36\site-packages\yaml\composer.py", line 55, in compose_document
    node = self.compose_node(None, None)
  File "C:\Users\mcollier\AppData\Roaming\Python\Python36\site-packages\yaml\composer.py", line 84, in compose_node
    node = self.compose_mapping_node(anchor)
  File "C:\Users\mcollier\AppData\Roaming\Python\Python36\site-packages\yaml\composer.py", line 133, in compose_mapping_node
    item_value = self.compose_node(node, item_key)
  File "C:\Users\mcollier\AppData\Roaming\Python\Python36\site-packages\yaml\composer.py", line 82, in compose_node
    node = self.compose_sequence_node(anchor)
  File "C:\Users\mcollier\AppData\Roaming\Python\Python36\site-packages\yaml\composer.py", line 111, in compose_sequence_node
    node.value.append(self.compose_node(node, index))
  File "C:\Users\mcollier\AppData\Roaming\Python\Python36\site-packages\yaml\composer.py", line 84, in compose_node
    node = self.compose_mapping_node(anchor)
  File "C:\Users\mcollier\AppData\Roaming\Python\Python36\site-packages\yaml\composer.py", line 127, in compose_mapping_node
    while not self.check_event(MappingEndEvent):
  File "C:\Users\mcollier\AppData\Roaming\Python\Python36\site-packages\yaml\parser.py", line 98, in check_event
    self.current_event = self.state()
  File "C:\Users\mcollier\AppData\Roaming\Python\Python36\site-packages\yaml\parser.py", line 428, in parse_block_mapping_key
    if self.check_token(KeyToken):
  File "C:\Users\mcollier\AppData\Roaming\Python\Python36\site-packages\yaml\scanner.py", line 116, in check_token
    self.fetch_more_tokens()
  File "C:\Users\mcollier\AppData\Roaming\Python\Python36\site-packages\yaml\scanner.py", line 220, in fetch_more_tokens
    return self.fetch_value()
  File "C:\Users\mcollier\AppData\Roaming\Python\Python36\site-packages\yaml\scanner.py", line 576, in fetch_value
    self.get_mark())
yaml.scanner.ScannerError: mapping values are not allowed here
  in "<unicode string>", line 17, column 30:
                and can be values: 'Binary', 'Int64', 'Double', ' ...
                                 ^
@Christina-Kang
Copy link
Contributor

Thanks for reporting! :) This issue is fixed in the up coming 5.0.0 release, which should be out shortly.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants