Add public positive_int and finite_float converters (#5969)

Co-authored-by: Kreusada <67752638+Kreusada@users.noreply.github.com>
This commit is contained in:
AAA3A
2023-04-17 23:33:44 +02:00
committed by GitHub
parent fa305cb060
commit eafbb06756
8 changed files with 143 additions and 76 deletions

View File

@@ -1,22 +0,0 @@
from typing import NewType, TYPE_CHECKING
from redbot.core.commands import BadArgument
from redbot.core.i18n import Translator
from redbot.core.utils.chat_formatting import inline
_ = Translator("Economy", __file__)
# Duplicate of redbot.cogs.cleanup.converters.PositiveInt
PositiveInt = NewType("PositiveInt", int)
if TYPE_CHECKING:
positive_int = PositiveInt
else:
def positive_int(arg: str) -> int:
try:
ret = int(arg)
except ValueError:
raise BadArgument(_("{arg} is not an integer.").format(arg=inline(arg)))
if ret <= 0:
raise BadArgument(_("{arg} is not a positive integer.").format(arg=inline(arg)))
return ret

View File

@@ -5,18 +5,17 @@ from collections import defaultdict, deque, namedtuple
from datetime import datetime, timezone, timedelta
from enum import Enum
from math import ceil
from typing import cast, Iterable, Union, Literal
from typing import cast, Iterable, Literal
import discord
from redbot.core import Config, bank, commands, errors
from redbot.core.commands.converter import TimedeltaConverter
from redbot.core.commands.converter import TimedeltaConverter, positive_int
from redbot.core.bot import Red
from redbot.core.i18n import Translator, cog_i18n
from redbot.core.utils import AsyncIter
from redbot.core.utils.chat_formatting import box, humanize_number
from redbot.core.utils.menus import close_menu, menu
from .converters import positive_int
from redbot.core.utils.menus import menu
T_ = Translator("Economy", __file__)