Voice et bot modif

This commit is contained in:
pi 2026-06-16 17:09:34 +00:00
parent 189d56026b
commit 7333a22bcd
10774 changed files with 634644 additions and 933308 deletions

View file

@ -23,6 +23,15 @@ def _join_param_hints(param_hint: cabc.Sequence[str] | str | None) -> str | None
return param_hint
def _format_possibilities(possibilities: list[str]) -> str:
possibility_str = ", ".join(repr(p) for p in sorted(possibilities))
return ngettext(
"Did you mean {possibility}?",
"(Did you mean one of: {possibilities}?)",
len(possibilities),
).format(possibility=possibility_str, possibilities=possibility_str)
class ClickException(Exception):
"""An exception that Click can handle and show to the user."""
@ -78,8 +87,12 @@ class UsageError(ClickException):
self.ctx is not None
and self.ctx.command.get_help_option(self.ctx) is not None
):
help_names = self.ctx.command.get_help_option_names(self.ctx)
# Pick the longest name (like ``--help`` over ``-h``) for
# readability in error messages.
hint = _("Try '{command} {option}' for help.").format(
command=self.ctx.command_path, option=self.ctx.help_option_names[0]
command=self.ctx.command_path,
option=max(help_names, key=len),
)
hint = f"{hint}\n"
if self.ctx is not None:
@ -125,7 +138,7 @@ class BadParameter(UsageError):
if self.param_hint is not None:
param_hint = self.param_hint
elif self.param is not None:
param_hint = self.param.get_error_hint(self.ctx) # type: ignore
param_hint = self.param.get_error_hint(self.ctx)
else:
return _("Invalid value: {message}").format(message=self.message)
@ -161,7 +174,7 @@ class MissingParameter(BadParameter):
if self.param_hint is not None:
param_hint: cabc.Sequence[str] | str | None = self.param_hint
elif self.param is not None:
param_hint = self.param.get_error_hint(self.ctx) # type: ignore
param_hint = self.param.get_error_hint(self.ctx)
else:
param_hint = None
@ -206,8 +219,7 @@ class MissingParameter(BadParameter):
class NoSuchOption(UsageError):
"""Raised if click attempted to handle an option that does not
exist.
"""Raised if Click attempted to handle an option that does not exist.
.. versionadded:: 4.0
"""
@ -216,27 +228,54 @@ class NoSuchOption(UsageError):
self,
option_name: str,
message: str | None = None,
possibilities: cabc.Sequence[str] | None = None,
possibilities: cabc.Iterable[str] | None = None,
ctx: Context | None = None,
) -> None:
if message is None:
message = _("No such option: {name}").format(name=option_name)
message = _("No such option {name!r}.").format(name=option_name)
super().__init__(message, ctx)
self.option_name = option_name
self.possibilities = possibilities
self.possibilities: list[str] | None = None
if possibilities:
from difflib import get_close_matches
self.possibilities = get_close_matches(option_name, possibilities)
def format_message(self) -> str:
if not self.possibilities:
return self.message
return f"{self.message} {_format_possibilities(self.possibilities)}"
possibility_str = ", ".join(sorted(self.possibilities))
suggest = ngettext(
"Did you mean {possibility}?",
"(Possible options: {possibilities})",
len(self.possibilities),
).format(possibility=possibility_str, possibilities=possibility_str)
return f"{self.message} {suggest}"
class NoSuchCommand(UsageError):
"""Raised if Click attempted to handle a command that does not exist.
.. versionadded:: 8.4.0
"""
def __init__(
self,
command_name: str,
message: str | None = None,
possibilities: cabc.Iterable[str] | None = None,
ctx: Context | None = None,
) -> None:
if message is None:
message = _("No such command {name!r}.").format(name=command_name)
super().__init__(message, ctx)
self.command_name = command_name
self.possibilities: list[str] | None = None
if possibilities:
from difflib import get_close_matches
self.possibilities = get_close_matches(command_name, possibilities)
def format_message(self) -> str:
if not self.possibilities:
return self.message
return f"{self.message} {_format_possibilities(self.possibilities)}"
class BadOptionUsage(UsageError):