Skip to content
Snippets Groups Projects
Commit 14af2ac7 authored by David Schäfer's avatar David Schäfer
Browse files

Merge branch 'duplicated-args' into 'develop'

forbid arument duplications

See merge request !649
parents 89ff90b1 a9d099d5
No related branches found
No related tags found
3 merge requests!685Release 2.4,!684Release 2.4,!649forbid arument duplications
Pipeline #160355 passed with stages
in 7 minutes and 26 seconds
......@@ -14,6 +14,7 @@ SPDX-License-Identifier: GPL-3.0-or-later
### Changed
### Removed
### Fixed
- fail on duplicated arguments to test methods
## [2.3.0](https://git.ufz.de/rdm-software/saqc/-/tags/v2.3.0) - 2023-01-17
[List of commits](https://git.ufz.de/rdm-software/saqc/-/compare/v2.2.1...v2.3.0)
......
......@@ -333,7 +333,15 @@ def register(
paramnames = tuple(func_signature.parameters.keys())[
2:
] # skip (self, field)
kwargs = {**dict(zip(paramnames, args)), **kwargs}
# check for duplicated arguments
args_map = dict(zip(paramnames, args))
intersection = set(args_map).intersection(set(kwargs))
if intersection:
raise TypeError(
f"SaQC.{func.__name__}() got multiple values for argument '{intersection.pop()}'"
)
kwargs = {**args_map, **kwargs}
kwargs["dfilter"] = _getDfilter(func_signature, saqc._scheme, kwargs)
# translate flag
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment