summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHenrique Joaquim <henriquecjoaquim@gmail.com>2024-04-29 11:52:38 +0100
committerGitHub <noreply@github.com>2024-04-29 10:52:38 +0000
commita502766d0180c8bb43f05725a6dca8fbea0c4ac6 (patch)
treeb35d350b62a8ae401f176c5d29b69dd175a6b8ff
parentefe77be527ee2c530ec492b6d89a475d5090d434 (diff)
provider parameters were being removed bc not in signature (#6348)
Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com>
-rw-r--r--openbb_terminal/openbb_terminal/argparse_translator/argparse_translator.py6
1 files changed, 4 insertions, 2 deletions
diff --git a/openbb_terminal/openbb_terminal/argparse_translator/argparse_translator.py b/openbb_terminal/openbb_terminal/argparse_translator/argparse_translator.py
index b08ebfa2845..45fa4ce5d6b 100644
--- a/openbb_terminal/openbb_terminal/argparse_translator/argparse_translator.py
+++ b/openbb_terminal/openbb_terminal/argparse_translator/argparse_translator.py
@@ -200,6 +200,7 @@ class ArgparseTranslator:
self.func = func
self.signature = inspect.signature(func)
self.type_hints = get_type_hints(func)
+ self.provider_parameters = []
self._parser = argparse.ArgumentParser(
prog=func.__name__,
@@ -221,6 +222,7 @@ class ArgparseTranslator:
# If the argument is already in use, we can't repeat it
if f"--{argument.name}" not in self._parser_arguments():
argparse_group.add_argument(f"--{argument.name}", **kwargs)
+ self.provider_parameters.append(argument.name)
def _parser_arguments(self) -> List[str]:
"""Get all the arguments from all groups currently defined on the parser."""
@@ -495,11 +497,11 @@ class ArgparseTranslator:
kwargs = self._unflatten_args(vars(parsed_args))
kwargs = self._update_with_custom_types(kwargs)
- # remove kwargs that doesn't match the signature
+ # remove kwargs that doesn't match the signature or provider parameters
kwargs = {
key: value
for key, value in kwargs.items()
- if key in self.signature.parameters
+ if key in self.signature.parameters or key in self.provider_parameters
}
return self.func(**kwargs)