You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
H. Smith, UW - Madison, found the issue that .process_linelist_batch() does not read in user options for passing to the .process_linelist() function.
(the following line numbers are based on the assignment.py file located in /pyspectools/spectra)
param_dict
I think the issue lies in the preprocessing at the start of the function, lines 2433 - 2438:
if param_dict == yml_path:
raise ValueError("Please provide arguments to param_dict or yml_path.")
if yml_path:
param_dict = routines.read_yaml(yml_path)
yml_path = Path(yml_path)
root = yml_path.parents[0]
These are the only two checks of the input. The first check is fine, however if yml_path: reuses the param_dict keyword name and thus overwrites any keywords that the user provides in param_dict in the initial function call. Suggest renaming this variable.
**kwargs
Additional **kwargs are currently not passed to the .process_linelist() function. Currently only the default subdict items generated by the param_dict = routines.read_yaml(yml_path) are being passed in lines 2455, 2457, which appears to affect only the linelist object:
for name, subdict in param_dict.items():
...
linelist_obj = func(name=name, **subdict)
...
self.process_linelist(name=linelist_obj.name, linelist=linelist_obj)
Suggested fix
The attached code block assumes param_dict > **kwargs and they are .process_linelist() options, and that routines.read_yaml(yml_path) affects only the LineList object.
H. Smith, UW - Madison, found the issue that
.process_linelist_batch()
does not read in user options for passing to the.process_linelist()
function.(the following line numbers are based on the
assignment.py
file located in/pyspectools/spectra
)param_dict
I think the issue lies in the preprocessing at the start of the function, lines 2433 - 2438:
These are the only two checks of the input. The first check is fine, however
if yml_path:
reuses theparam_dict
keyword name and thus overwrites any keywords that the user provides inparam_dict
in the initial function call. Suggest renaming this variable.**kwargs
Additional
**kwargs
are currently not passed to the.process_linelist()
function. Currently only the defaultsubdict
items generated by theparam_dict = routines.read_yaml(yml_path)
are being passed in lines 2455, 2457, which appears to affect only the linelist object:Suggested fix
The attached code block assumes
param_dict
>**kwargs
and they are.process_linelist()
options, and thatroutines.read_yaml(yml_path)
affects only the LineList object.process_linelist_batch-modified.txt
The text was updated successfully, but these errors were encountered: