majuna/app/brm/utils.py

21 lines
497 B
Python
Raw Normal View History

2022-06-15 11:50:15 +01:00
from __future__ import annotations
from typing import Any
2022-06-23 11:38:27 +01:00
def is_integer(contender: Any) -> bool:
2022-06-15 11:50:15 +01:00
"""
Determine if a string (or other object type that can be converted automatically) represents an integer.
Thanks to https://note.nkmk.me/en/python-check-int-float/.
2022-06-23 11:38:27 +01:00
:param contender: object to test
2022-06-15 11:50:15 +01:00
:return: true if it's an integer
"""
try:
2022-06-23 11:38:27 +01:00
float(contender)
2022-06-15 11:50:15 +01:00
except ValueError:
return False
else:
2022-06-23 11:38:27 +01:00
return float(contender).is_integer()