Convert the name argument to a list of names. Examples -------- >>> parse_notifier_name([]) [traitlets.All] >>> parse_notifier_name("a") ['a'] >>> parse_notifier_name(["a", "b"]) ['a', 'b'] >>> parse_notifier_name(All) [traitlets.All]
(names: Sentinel | str | t.Iterable[Sentinel | str])
| 198 | |
| 199 | |
| 200 | def parse_notifier_name(names: Sentinel | str | t.Iterable[Sentinel | str]) -> t.Iterable[t.Any]: |
| 201 | """Convert the name argument to a list of names. |
| 202 | |
| 203 | Examples |
| 204 | -------- |
| 205 | >>> parse_notifier_name([]) |
| 206 | [traitlets.All] |
| 207 | >>> parse_notifier_name("a") |
| 208 | ['a'] |
| 209 | >>> parse_notifier_name(["a", "b"]) |
| 210 | ['a', 'b'] |
| 211 | >>> parse_notifier_name(All) |
| 212 | [traitlets.All] |
| 213 | """ |
| 214 | if names is All or isinstance(names, str): |
| 215 | return [names] |
| 216 | elif isinstance(names, Sentinel): |
| 217 | raise TypeError("`names` must be either `All`, a str, or a list of strs.") |
| 218 | else: |
| 219 | if not names or All in names: |
| 220 | return [All] |
| 221 | for n in names: |
| 222 | if not isinstance(n, str): |
| 223 | raise TypeError(f"names must be strings, not {type(n).__name__}({n!r})") |
| 224 | return names |
| 225 | |
| 226 | |
| 227 | class _SimpleTest: |