Skip to content

Casing in parameters is mangled resulting in KeyError #181

@ebolyen

Description

@ebolyen

Bug Description
Example of a traceback:

§ qiime perc-norm percentile-normalize
QIIME is caching your current deployment for improved performance. This may take a few moments and should only happen once per deployment.
{'output_dir': None, 'verbose': None, 'm_metadata_file': (), 'cmd_config': None, 'p_n_control_thresh': None, 'i_table': None, 'o_perc_norm_table': None, 'quiet': None, 'p_otu_thresh': None, 'm_metadata_column': None}
Traceback (most recent call last):
  File "/home/evan/.conda/envs/q2-dev/bin/qiime", line 11, in <module>
    load_entry_point('q2cli', 'console_scripts', 'qiime')()
  File "/home/evan/.conda/envs/q2-dev/lib/python3.5/site-packages/click/core.py", line 722, in __call__
    return self.main(*args, **kwargs)
  File "/home/evan/.conda/envs/q2-dev/lib/python3.5/site-packages/click/core.py", line 697, in main
    rv = self.invoke(ctx)
  File "/home/evan/.conda/envs/q2-dev/lib/python3.5/site-packages/click/core.py", line 1066, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/home/evan/.conda/envs/q2-dev/lib/python3.5/site-packages/click/core.py", line 1066, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/home/evan/.conda/envs/q2-dev/lib/python3.5/site-packages/click/core.py", line 895, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/home/evan/.conda/envs/q2-dev/lib/python3.5/site-packages/click/core.py", line 535, in invoke
    return callback(*args, **kwargs)
  File "/home/evan/workspace/qiime2/q2cli/q2cli/commands.py", line 213, in __call__
    arguments, missing_in, verbose, quiet = self.handle_in_params(kwargs)
  File "/home/evan/workspace/qiime2/q2cli/q2cli/commands.py", line 289, in handle_in_params
    kwargs, fallback=cmd_fallback
  File "/home/evan/workspace/qiime2/q2cli/q2cli/handlers.py", line 637, in get_value
    value = self._locate_value(arguments, fallback)
  File "/home/evan/workspace/qiime2/q2cli/q2cli/handlers.py", line 55, in _locate_value
    v = arguments[self.click_name]
KeyError: 'p_N_control_thresh'

It looks like click arguments are being received as lowercase.

References
forum x-ref

Metadata

Metadata

Assignees

No one assigned

    Labels

    type:bugSomething is wrong.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions