MCPcopy Create free account
hub / github.com/ipython/traitlets / _parse_args

Method _parse_args

traitlets/config/loader.py:918–955  ·  view source on GitHub ↗

self.parser->self.parsed_data

(self, args: t.Any)

Source from the content-addressed store, hash-verified

916 """If argcomplete is enabled, allow triggering command-line autocompletion"""
917
918 def _parse_args(self, args: t.Any) -> t.Any:
919 """self.parser->self.parsed_data"""
920 uargs = [cast_unicode(a) for a in args]
921
922 unpacked_aliases: dict[str, str] = {}
923 if self.aliases:
924 unpacked_aliases = {}
925 for alias, alias_target in self.aliases.items():
926 if alias in self.flags:
927 continue
928 if not isinstance(alias, tuple): # type:ignore[unreachable]
929 alias = (alias,) # type:ignore[assignment]
930 for al in alias:
931 if len(al) == 1:
932 unpacked_aliases["-" + al] = "--" + alias_target
933 unpacked_aliases["--" + al] = "--" + alias_target
934
935 def _replace(arg: str) -> str:
936 if arg == "-":
937 return _DASH_REPLACEMENT
938 for k, v in unpacked_aliases.items():
939 if arg == k:
940 return v
941 if arg.startswith(k + "="):
942 return v + "=" + arg[len(k) + 1 :]
943 return arg
944
945 if "--" in uargs:
946 idx = uargs.index("--")
947 extra_args = uargs[idx + 1 :]
948 to_parse = uargs[:idx]
949 else:
950 extra_args = []
951 to_parse = uargs
952 to_parse = [_replace(a) for a in to_parse]
953
954 self.parsed_data = self.parser.parse_args(to_parse)
955 self.extra_args = extra_args
956
957 def _convert_to_config(self) -> None:
958 """self.parsed_data->self.config"""

Callers 1

load_configMethod · 0.95

Calls 1

cast_unicodeFunction · 0.85

Tested by

no test coverage detected