diff options
| author | arcadia-devtools <[email protected]> | 2022-06-17 10:56:56 +0300 |
|---|---|---|
| committer | arcadia-devtools <[email protected]> | 2022-06-17 10:56:56 +0300 |
| commit | 14263edb92185e889ea9e66d400cfd8eb6007125 (patch) | |
| tree | c7289085a0cd8835fa39c214da55a37fc9498788 /contrib/python/traitlets/py3 | |
| parent | e91c5c4c2b4265bec65f9042c60ba56c60fa4e3f (diff) | |
intermediate changes
ref:d77adbec7a9ebece3ecae6afe7e7d7ca3d5c29e1
Diffstat (limited to 'contrib/python/traitlets/py3')
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() |
