chore: convert try/except to explicit checks

Rather than causing an exception and handling it, this change explicitly checks the type of certain arguments and only converts strings to integers if needed.

Both this change and the previous implementation don't handle cases where the string passed is not numeric. However, I'm just getting familiar with the codebase, so this is possibly handled elsewhere.
This commit is contained in:
Mike Gray 2022-10-29 21:23:07 -05:00
parent da68598b63
commit 8934579cda

View file

@ -657,9 +657,8 @@ def funcparser_callable_eval(*args, **kwargs):
def funcparser_callable_toint(*args, **kwargs): def funcparser_callable_toint(*args, **kwargs):
"""Usage: $toint(43.0) -> 43""" """Usage: $toint(43.0) -> 43"""
inp = funcparser_callable_eval(*args, **kwargs) inp = funcparser_callable_eval(*args, **kwargs)
try: if isinstance(inp, str) and inp.isnumeric():
return int(inp) inp = int(inp)
except TypeError:
return inp return inp
@ -674,10 +673,9 @@ def funcparser_callable_int2str(*args, **kwargs):
""" """
if not args: if not args:
return "" return ""
try: number = args[0]
if isinstance(args[0], str) and args[0].isnumeric():
number = int(args[0]) number = int(args[0])
except ValueError:
return args[0]
return int2str(number) return int2str(number)
@ -900,10 +898,9 @@ def funcparser_callable_pad(*args, **kwargs):
text, *rest = args text, *rest = args
nrest = len(rest) nrest = len(rest)
try: width = kwargs.get("width", rest[0] if nrest > 0 else _CLIENT_DEFAULT_WIDTH)
width = int(kwargs.get("width", rest[0] if nrest > 0 else _CLIENT_DEFAULT_WIDTH)) if isinstance(width, str) and width.isnumeric():
except TypeError: width = int(width)
width = _CLIENT_DEFAULT_WIDTH
align = kwargs.get("align", rest[1] if nrest > 1 else "c") align = kwargs.get("align", rest[1] if nrest > 1 else "c")
fillchar = kwargs.get("fillchar", rest[2] if nrest > 2 else " ") fillchar = kwargs.get("fillchar", rest[2] if nrest > 2 else " ")
@ -932,10 +929,9 @@ def funcparser_callable_crop(*args, **kwargs):
return "" return ""
text, *rest = args text, *rest = args
nrest = len(rest) nrest = len(rest)
try: width = kwargs.get("width", rest[0] if nrest > 0 else _CLIENT_DEFAULT_WIDTH)
width = int(kwargs.get("width", rest[0] if nrest > 0 else _CLIENT_DEFAULT_WIDTH)) if isinstance(width, str) and width.isnumeric():
except TypeError: width = int(width)
width = _CLIENT_DEFAULT_WIDTH
suffix = kwargs.get("suffix", rest[1] if nrest > 1 else "[...]") suffix = kwargs.get("suffix", rest[1] if nrest > 1 else "[...]")
return crop(str(text), width=width, suffix=str(suffix)) return crop(str(text), width=width, suffix=str(suffix))
@ -949,10 +945,9 @@ def funcparser_callable_space(*args, **kwarg):
""" """
if not args: if not args:
return "" return ""
try: width = args[0]
width = int(args[0]) if isinstance(width, str) and width.isnumeric():
except TypeError: width = int(width)
width = 1
return " " * width return " " * width