1 from contextlib import contextmanager
\r
18 from click.formatting import HelpFormatter
\r
19 from click.parser import OptionParser
\r
21 def invoke_param_callback(
\r
22 callback: Callable[['Context', 'Parameter', Optional[str]], Any],
\r
25 value: Optional[str]
\r
31 def augment_usage_errors(
\r
32 ctx: 'Context', param: Optional['Parameter'] = ...
\r
33 ) -> Generator[None, None, None]:
\r
37 def iter_params_for_processing(
\r
38 invocation_order: Sequence['Parameter'],
\r
39 declaration_order: Iterable['Parameter'],
\r
40 ) -> Iterable['Parameter']:
\r
45 parent: Optional['Context']
\r
47 info_name: Optional[str]
\r
50 protected_args: List[str]
\r
52 default_map: Mapping[str, Any]
\r
53 invoked_subcommand: Optional[str]
\r
54 terminal_width: Optional[int]
\r
55 max_content_width: Optional[int]
\r
56 allow_extra_args: bool
\r
57 allow_interspersed_args: bool
\r
58 ignore_unknown_options: bool
\r
59 help_option_names: List[str]
\r
60 token_normalize_func: Optional[Callable[[str], str]]
\r
61 resilient_parsing: bool
\r
62 auto_envvar_prefix: Optional[str]
\r
63 color: Optional[bool]
\r
64 _meta: Dict[str, Any]
\r
65 _close_callbacks: List
\r
69 meta: Dict[str, Any]
\r
75 parent: Optional['Context'] = ...,
\r
76 info_name: Optional[str] = ...,
\r
77 obj: Optional[Any] = ...,
\r
78 auto_envvar_prefix: Optional[str] = ...,
\r
79 default_map: Optional[Mapping[str, Any]] = ...,
\r
80 terminal_width: Optional[int] = ...,
\r
81 max_content_width: Optional[int] = ...,
\r
82 resilient_parsing: bool = ...,
\r
83 allow_extra_args: Optional[bool] = ...,
\r
84 allow_interspersed_args: Optional[bool] = ...,
\r
85 ignore_unknown_options: Optional[bool] = ...,
\r
86 help_option_names: Optional[List[str]] = ...,
\r
87 token_normalize_func: Optional[Callable[[str], str]] = ...,
\r
88 color: Optional[bool] = ...
\r
93 def scope(self, cleanup: bool = ...) -> Generator['Context', None, None]:
\r
96 def make_formatter(self) -> HelpFormatter:
\r
99 def call_on_close(self, f: Callable) -> Callable:
\r
102 def close(self) -> None:
\r
105 def find_root(self) -> 'Context':
\r
108 def find_object(self, object_type: type) -> Any:
\r
111 def ensure_object(self, object_type: type) -> Any:
\r
114 def lookup_default(self, name: str) -> Any:
\r
117 def fail(self, message: str) -> None:
\r
120 def abort(self) -> None:
\r
123 def exit(self, code: Union[int, str] = ...) -> None:
\r
126 def get_usage(self) -> str:
\r
129 def get_help(self) -> str:
\r
133 self, callback: Union['Command', Callable], *args, **kwargs
\r
138 self, callback: Union['Command', Callable], *args, **kwargs
\r
143 allow_extra_args: bool
\r
144 allow_interspersed_args: bool
\r
145 ignore_unknown_options: bool
\r
147 context_settings: Dict
\r
149 def __init__(self, name: str, context_settings: Optional[Dict] = ...) -> None:
\r
152 def get_usage(self, ctx: Context) -> str:
\r
155 def get_help(self, ctx: Context) -> str:
\r
159 self, info_name: str, args: List[str], parent: Optional[Context] = ..., **extra
\r
163 def parse_args(self, ctx: Context, args: List[str]) -> List[str]:
\r
166 def invoke(self, ctx: Context) -> Any:
\r
171 args: Optional[List[str]] = ...,
\r
172 prog_name: Optional[str] = ...,
\r
173 complete_var: Optional[str] = ...,
\r
174 standalone_mode: bool = ...,
\r
179 def __call__(self, *args, **kwargs) -> Any:
\r
183 class Command(BaseCommand):
\r
184 callback: Optional[Callable]
\r
185 params: List['Parameter']
\r
186 help: Optional[str]
\r
187 epilog: Optional[str]
\r
188 short_help: Optional[str]
\r
189 options_metavar: str
\r
190 add_help_option: bool
\r
195 context_settings: Optional[Dict] = ...,
\r
196 callback: Optional[Callable] = ...,
\r
197 params: Optional[List['Parameter']] = ...,
\r
198 help: Optional[str] = ...,
\r
199 epilog: Optional[str] = ...,
\r
200 short_help: Optional[str] = ...,
\r
201 options_metavar: str = ...,
\r
202 add_help_option: bool = ...
\r
206 def get_params(self, ctx: Context) -> List['Parameter']:
\r
212 formatter: HelpFormatter
\r
216 def collect_usage_pieces(self, ctx: Context) -> List[str]:
\r
219 def get_help_option_names(self, ctx: Context) -> Set[str]:
\r
222 def get_help_option(self, ctx: Context) -> Optional['Option']:
\r
225 def make_parser(self, ctx: Context) -> OptionParser:
\r
228 def format_help(self, ctx: Context, formatter: HelpFormatter) -> None:
\r
231 def format_help_text(self, ctx: Context, formatter: HelpFormatter) -> None:
\r
234 def format_options(self, ctx: Context, formatter: HelpFormatter) -> None:
\r
237 def format_epilog(self, ctx: Context, formatter: HelpFormatter) -> None:
\r
242 _Decorator = Callable[[_T], _T]
\r
245 class MultiCommand(Command):
\r
246 no_args_is_help: bool
\r
247 invoke_without_command: bool
\r
248 subcommand_metavar: str
\r
250 result_callback: Callable
\r
254 name: Optional[str] = ...,
\r
255 invoke_without_command: bool = ...,
\r
256 no_args_is_help: Optional[bool] = ...,
\r
257 subcommand_metavar: Optional[str] = ...,
\r
259 result_callback: Optional[Callable] = ...,
\r
264 def resultcallback(
\r
265 self, replace: bool = ...
\r
269 def format_commands(self, ctx: Context, formatter: HelpFormatter) -> None:
\r
272 def resolve_command(
\r
273 self, ctx: Context, args: List[str]
\r
274 ) -> Tuple[str, Command, List[str]]:
\r
277 def get_command(self, ctx: Context, cmd_name: str) -> Optional[Command]:
\r
280 def list_commands(self, ctx: Context) -> Iterable[Command]:
\r
284 class Group(MultiCommand):
\r
285 commands: Dict[str, Command]
\r
288 self, name: Optional[str] = ..., commands: Optional[Dict[str, Command]] = ..., **attrs
\r
292 def add_command(self, cmd: Command, name: Optional[str] = ...):
\r
295 def command(self, *args, **kwargs) -> _Decorator:
\r
298 def group(self, *args, **kwargs) -> _Decorator:
\r
302 class CommandCollection(MultiCommand):
\r
303 sources: List[MultiCommand]
\r
306 self, name: Optional[str] = ..., sources: Optional[List[MultiCommand]] = ..., **attrs
\r
310 def add_source(self, multi_cmd: MultiCommand) -> None:
\r
317 envvar_list_splitter: Optional[str]
\r
321 value: Optional[str],
\r
322 param: Optional[Parameter] = ...,
\r
323 ctx: Optional[Context] = ...,
\r
327 def get_metavar(self, param: Parameter) -> str:
\r
330 def get_missing_message(self, param: Parameter) -> str:
\r
336 param: Optional[Parameter],
\r
337 ctx: Optional[Context],
\r
341 def split_envvar_value(self, rv: str) -> List[str]:
\r
344 def fail(self, message: str, param: Optional[Parameter] = ..., ctx: Optional[Context] = ...) -> None:
\r
348 # This type is here to resolve https://github.com/python/mypy/issues/5275
\r
349 _ConvertibleType = Union[type, _ParamType, Tuple[type, ...], Callable[[str], Any], Callable[[Optional[str]], Any]]
\r
353 param_type_name: str
\r
356 secondary_opts: List[str]
\r
359 callback: Optional[Callable[[Context, 'Parameter', str], Any]]
\r
365 metavar: Optional[str]
\r
366 envvar: Union[str, List[str], None]
\r
368 human_readable_name: str
\r
372 param_decls: Optional[List[str]] = ...,
\r
373 type: Optional[_ConvertibleType] = ...,
\r
374 required: bool = ...,
\r
375 default: Optional[Any] = ...,
\r
376 callback: Optional[Callable[[Context, 'Parameter', str], Any]] = ...,
\r
377 nargs: Optional[int] = ...,
\r
378 metavar: Optional[str] = ...,
\r
379 expose_value: bool = ...,
\r
380 is_eager: bool = ...,
\r
381 envvar: Optional[Union[str, List[str]]] = ...
\r
385 def make_metavar(self) -> str:
\r
388 def get_default(self, ctx: Context) -> Any:
\r
391 def add_to_parser(self, parser: OptionParser, ctx: Context) -> None:
\r
394 def consume_value(self, ctx: Context, opts: Dict[str, Any]) -> Any:
\r
397 def type_cast_value(self, ctx: Context, value: Any) -> Any:
\r
400 def process_value(self, ctx: Context, value: Any) -> Any:
\r
403 def value_is_missing(self, value: Any) -> bool:
\r
406 def full_process_value(self, ctx: Context, value: Any) -> Any:
\r
409 def resolve_envvar_value(self, ctx: Context) -> str:
\r
412 def value_from_envvar(self, ctx: Context) -> Union[str, List[str]]:
\r
415 def handle_parse_result(
\r
416 self, ctx: Context, opts: Dict[str, Any], args: List[str]
\r
417 ) -> Tuple[Any, List[str]]:
\r
420 def get_help_record(self, ctx: Context) -> Tuple[str, str]:
\r
423 def get_usage_pieces(self, ctx: Context) -> List[str]:
\r
427 class Option(Parameter):
\r
429 confirmation_prompt: bool
\r
436 allow_from_autoenv: bool
\r
437 help: Optional[str]
\r
442 param_decls: Optional[List[str]] = ...,
\r
443 show_default: bool = ...,
\r
444 prompt: Union[bool, str] = ...,
\r
445 confirmation_prompt: bool = ...,
\r
446 hide_input: bool = ...,
\r
447 is_flag: Optional[bool] = ...,
\r
448 flag_value: Optional[Any] = ...,
\r
449 multiple: bool = ...,
\r
451 allow_from_autoenv: bool = ...,
\r
452 type: Optional[_ConvertibleType] = ...,
\r
453 help: Optional[str] = ...,
\r
458 def prompt_for_value(self, ctx: Context) -> Any:
\r
462 class Argument(Parameter):
\r
465 param_decls: Optional[List[str]] = ...,
\r
466 required: Optional[bool] = ...,
\r