diff --git a/src/diffpy/labpdfproc/labpdfprocapp.py b/src/diffpy/labpdfproc/labpdfprocapp.py index e141f9b..780effd 100644 --- a/src/diffpy/labpdfproc/labpdfprocapp.py +++ b/src/diffpy/labpdfproc/labpdfprocapp.py @@ -116,7 +116,7 @@ def main(): args = load_user_info(args) args = set_input_lists(args) args.output_directory = set_output_directory(args) - args.wavelength = set_wavelength(args) + args = set_wavelength(args) args = load_user_metadata(args) for filepath in args.input_paths: diff --git a/src/diffpy/labpdfproc/tests/test_tools.py b/src/diffpy/labpdfproc/tests/test_tools.py index 523b194..779f7d0 100644 --- a/src/diffpy/labpdfproc/tests/test_tools.py +++ b/src/diffpy/labpdfproc/tests/test_tools.py @@ -145,20 +145,21 @@ def test_set_output_directory_bad(user_filesystem): params2 = [ - ([], [0.71]), - (["--anode-type", "Ag"], [0.59]), - (["--wavelength", "0.25"], [0.25]), - (["--wavelength", "0.25", "--anode-type", "Ag"], [0.25]), + ([], [0.71, "Mo"]), + (["--anode-type", "Ag"], [0.59, "Ag"]), + (["--wavelength", "0.25"], [0.25, None]), + (["--wavelength", "0.25", "--anode-type", "Ag"], [0.25, None]), ] @pytest.mark.parametrize("inputs, expected", params2) def test_set_wavelength(inputs, expected): - expected_wavelength = expected[0] + expected_wavelength, expected_anode_type = expected[0], expected[1] cli_inputs = ["2.5", "data.xy"] + inputs actual_args = get_args(cli_inputs) - actual_args.wavelength = set_wavelength(actual_args) + actual_args = set_wavelength(actual_args) assert actual_args.wavelength == expected_wavelength + assert getattr(actual_args, "anode_type", None) == expected_anode_type params3 = [ @@ -182,7 +183,7 @@ def test_set_wavelength_bad(inputs, msg): cli_inputs = ["2.5", "data.xy"] + inputs actual_args = get_args(cli_inputs) with pytest.raises(ValueError, match=re.escape(msg[0])): - actual_args.wavelength = set_wavelength(actual_args) + actual_args = set_wavelength(actual_args) params5 = [ diff --git a/src/diffpy/labpdfproc/tools.py b/src/diffpy/labpdfproc/tools.py index 124be2c..1461654 100644 --- a/src/diffpy/labpdfproc/tools.py +++ b/src/diffpy/labpdfproc/tools.py @@ -126,11 +126,12 @@ def set_wavelength(args): ) if args.wavelength: - return args.wavelength + delattr(args, "anode_type") elif args.anode_type: - return WAVELENGTHS[args.anode_type] + args.wavelength = WAVELENGTHS[args.anode_type] else: - return WAVELENGTHS["Mo"] + args.wavelength = WAVELENGTHS["Mo"] + return args def _load_key_value_pair(s):