summaryrefslogtreecommitdiffstats
path: root/contrib/python/traitlets
diff options
context:
space:
mode:
authorarcadia-devtools <[email protected]>2022-06-17 10:56:56 +0300
committerarcadia-devtools <[email protected]>2022-06-17 10:56:56 +0300
commit14263edb92185e889ea9e66d400cfd8eb6007125 (patch)
treec7289085a0cd8835fa39c214da55a37fc9498788 /contrib/python/traitlets
parente91c5c4c2b4265bec65f9042c60ba56c60fa4e3f (diff)
intermediate changes
ref:d77adbec7a9ebece3ecae6afe7e7d7ca3d5c29e1
Diffstat (limited to 'contrib/python/traitlets')
-rw-r--r--contrib/python/traitlets/py3/.dist-info/METADATA2
-rw-r--r--contrib/python/traitlets/py3/traitlets/_version.py4
-rw-r--r--contrib/python/traitlets/py3/traitlets/config/application.py2
-rw-r--r--contrib/python/traitlets/py3/traitlets/config/loader.py17
-rw-r--r--contrib/python/traitlets/py3/traitlets/config/tests/test_application.py18
5 files changed, 29 insertions, 14 deletions
diff --git a/contrib/python/traitlets/py3/.dist-info/METADATA b/contrib/python/traitlets/py3/.dist-info/METADATA
index 6429e017cc5..999db43c4d2 100644
--- a/contrib/python/traitlets/py3/.dist-info/METADATA
+++ b/contrib/python/traitlets/py3/.dist-info/METADATA
@@ -1,6 +1,6 @@
Metadata-Version: 2.1
Name: traitlets
-Version: 5.2.2.post1
+Version: 5.3.0
Project-URL: Homepage, https://github.com/ipython/traitlets
Author-email: IPython Development Team <[email protected]>
License: # Licensing terms
diff --git a/contrib/python/traitlets/py3/traitlets/_version.py b/contrib/python/traitlets/py3/traitlets/_version.py
index f75993c7a65..6091af85962 100644
--- a/contrib/python/traitlets/py3/traitlets/_version.py
+++ b/contrib/python/traitlets/py3/traitlets/_version.py
@@ -1,5 +1,5 @@
-version_info = (5, 2, 2)
-__version__ = "5.2.2"
+version_info = (5, 3, 0)
+__version__ = "5.3.0"
# unlike `.dev`, alpha, beta and rc _must not_ have dots,
# or the wheel and tgz won't look to pip like the same version.
diff --git a/contrib/python/traitlets/py3/traitlets/config/application.py b/contrib/python/traitlets/py3/traitlets/config/application.py
index efff262b718..333af4974c4 100644
--- a/contrib/python/traitlets/py3/traitlets/config/application.py
+++ b/contrib/python/traitlets/py3/traitlets/config/application.py
@@ -327,7 +327,7 @@ class Application(SingletonConfigurable):
.. code-block:: python
- c.Application.logging_configuration = {
+ c.Application.logging_config = {
'handlers': {
'file': {
'class': 'logging.FileHandler',
diff --git a/contrib/python/traitlets/py3/traitlets/config/loader.py b/contrib/python/traitlets/py3/traitlets/config/loader.py
index 14a6863589f..d4ec90b45b7 100644
--- a/contrib/python/traitlets/py3/traitlets/config/loader.py
+++ b/contrib/python/traitlets/py3/traitlets/config/loader.py
@@ -787,12 +787,13 @@ class ArgParseConfigLoader(CommandLineConfigLoader):
"""A loader that uses the argparse module to load from the command line."""
parser_class = ArgumentParser
+ Flags = t.Union[str, t.Tuple[str, ...]]
def __init__(
self,
argv: t.Optional[t.List[str]] = None,
- aliases: t.Optional[t.Dict[str, str]] = None,
- flags: t.Optional[t.Dict[str, str]] = None,
+ aliases: t.Optional[t.Dict[Flags, str]] = None,
+ flags: t.Optional[t.Dict[Flags, str]] = None,
log: t.Any = None,
classes: t.Optional[t.List[t.Type[t.Any]]] = None,
*parser_args: t.Any,
@@ -815,9 +816,9 @@ class ArgParseConfigLoader(CommandLineConfigLoader):
A tuple of keyword arguments that will be passed to the
constructor of :class:`argparse.ArgumentParser`.
aliases : dict of str to str
- Dict of aliases to full traitlests names for CLI parsing
+ Dict of aliases to full traitlets names for CLI parsing
flags : dict of str to str
- Dict of flags to full traitlests names for CLI parsing
+ Dict of flags to full traitlets names for CLI parsing
log
Passed to `ConfigLoader`
@@ -902,12 +903,8 @@ class ArgParseConfigLoader(CommandLineConfigLoader):
if alias in self.flags:
continue
if not isinstance(alias, tuple):
- short_alias, alias = alias, None # type:ignore[assignment]
- else:
- short_alias, alias = alias
- for al in (short_alias, alias):
- if al is None:
- continue
+ alias = (alias,)
+ for al in alias:
if len(al) == 1:
unpacked_aliases["-" + al] = "--" + alias_target
unpacked_aliases["--" + al] = "--" + alias_target
diff --git a/contrib/python/traitlets/py3/traitlets/config/tests/test_application.py b/contrib/python/traitlets/py3/traitlets/config/tests/test_application.py
index 0f1cbd578f3..7b8200bc30a 100644
--- a/contrib/python/traitlets/py3/traitlets/config/tests/test_application.py
+++ b/contrib/python/traitlets/py3/traitlets/config/tests/test_application.py
@@ -371,6 +371,24 @@ class TestApplication(TestCase):
app.init_foo()
self.assertEqual(app.foo.j, 10)
+ def test_aliases_multiple(self):
+ # Test multiple > 2 aliases for the same argument
+ class TestMultiAliasApp(Application):
+ foo = Integer(config=True)
+ aliases = {("f", "bar", "qux"): "TestMultiAliasApp.foo"}
+
+ app = TestMultiAliasApp()
+ app.parse_command_line(["-f", "3"])
+ self.assertEqual(app.foo, 3)
+
+ app = TestMultiAliasApp()
+ app.parse_command_line(["--bar", "4"])
+ self.assertEqual(app.foo, 4)
+
+ app = TestMultiAliasApp()
+ app.parse_command_line(["--qux", "5"])
+ self.assertEqual(app.foo, 5)
+
def test_aliases_help_msg(self):
app = MyApp()
stdout = io.StringIO()