diff options
| author | Rapptz <[email protected]> | 2019-03-12 05:27:34 -0400 |
|---|---|---|
| committer | Rapptz <[email protected]> | 2019-03-12 05:27:34 -0400 |
| commit | 560783c3d222d156a073fad5d467cd6331b74ecb (patch) | |
| tree | 1a27882bab9f24e35813a7cfe9e5815c7852b76e /discord/ext/commands/view.py | |
| parent | Add exception hierarchy to the documentation. (diff) | |
| download | discord.py-560783c3d222d156a073fad5d467cd6331b74ecb.tar.xz discord.py-560783c3d222d156a073fad5d467cd6331b74ecb.zip | |
[commands] Separate view parsing errors from BadArgument.
This causes them to be raised from a new exception named
ArgumentParsingError with 3 children for ease with i18n. This is
technically a breaking change since it no longer derives from
BadArgument, though catching UserInputError will prevent this change
from affecting the user.
Diffstat (limited to 'discord/ext/commands/view.py')
| -rw-r--r-- | discord/ext/commands/view.py | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/discord/ext/commands/view.py b/discord/ext/commands/view.py index 251c535a..ad34e0a4 100644 --- a/discord/ext/commands/view.py +++ b/discord/ext/commands/view.py @@ -24,7 +24,7 @@ FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. """ -from .errors import BadArgument +from .errors import UnexpectedQuoteError, InvalidEndOfQuotedStringError, ExpectedClosingQuoteError class StringView: def __init__(self, buffer): @@ -151,7 +151,7 @@ def quoted_word(view): if not current: if is_quoted: # unexpected EOF - raise BadArgument('Expected closing {}.'.format(close_quote)) + raise ExpectedClosingQuoteError(close_quote) return ''.join(result) # currently we accept strings in the format of "hello world" @@ -162,7 +162,7 @@ def quoted_word(view): # string ends with \ and no character after it if is_quoted: # if we're quoted then we're expecting a closing quote - raise BadArgument('Expected closing {}.'.format(close_quote)) + raise ExpectedClosingQuoteError(close_quote) # if we aren't then we just let it through return ''.join(result) @@ -177,14 +177,14 @@ def quoted_word(view): if not is_quoted and current in _all_quotes: # we aren't quoted - raise BadArgument('Unexpected quote mark in non-quoted string') + raise UnexpectedQuoteError(current) # closing quote if is_quoted and current == close_quote: next_char = view.get() valid_eof = not next_char or next_char.isspace() if not valid_eof: - raise BadArgument('Expected space after closing quotation') + raise InvalidEndOfQuotedStringError(next_char) # we're quoted so it's okay return ''.join(result) |