Bump ruff from 0.0.277 to 0.0.286 (#16198)

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
This commit is contained in:
dependabot[bot] 2023-08-29 09:41:43 -04:00 committed by GitHub
parent 63b51ef3fb
commit 001fc7bd19
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
19 changed files with 67 additions and 53 deletions

38
poetry.lock generated
View File

@ -2324,28 +2324,28 @@ files = [
[[package]] [[package]]
name = "ruff" name = "ruff"
version = "0.0.277" version = "0.0.286"
description = "An extremely fast Python linter, written in Rust." description = "An extremely fast Python linter, written in Rust."
optional = false optional = false
python-versions = ">=3.7" python-versions = ">=3.7"
files = [ files = [
{file = "ruff-0.0.277-py3-none-macosx_10_7_x86_64.whl", hash = "sha256:3250b24333ef419b7a232080d9724ccc4d2da1dbbe4ce85c4caa2290d83200f8"}, {file = "ruff-0.0.286-py3-none-macosx_10_7_x86_64.whl", hash = "sha256:8e22cb557e7395893490e7f9cfea1073d19a5b1dd337f44fd81359b2767da4e9"},
{file = "ruff-0.0.277-py3-none-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl", hash = "sha256:3e60605e07482183ba1c1b7237eca827bd6cbd3535fe8a4ede28cbe2a323cb97"}, {file = "ruff-0.0.286-py3-none-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl", hash = "sha256:68ed8c99c883ae79a9133cb1a86d7130feee0397fdf5ba385abf2d53e178d3fa"},
{file = "ruff-0.0.277-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7baa97c3d7186e5ed4d5d4f6834d759a27e56cf7d5874b98c507335f0ad5aadb"}, {file = "ruff-0.0.286-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8301f0bb4ec1a5b29cfaf15b83565136c47abefb771603241af9d6038f8981e8"},
{file = "ruff-0.0.277-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:74e4b206cb24f2e98a615f87dbe0bde18105217cbcc8eb785bb05a644855ba50"}, {file = "ruff-0.0.286-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:acc4598f810bbc465ce0ed84417ac687e392c993a84c7eaf3abf97638701c1ec"},
{file = "ruff-0.0.277-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:479864a3ccd8a6a20a37a6e7577bdc2406868ee80b1e65605478ad3b8eb2ba0b"}, {file = "ruff-0.0.286-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:88c8e358b445eb66d47164fa38541cfcc267847d1e7a92dd186dddb1a0a9a17f"},
{file = "ruff-0.0.277-py3-none-manylinux_2_17_ppc64.manylinux2014_ppc64.whl", hash = "sha256:468bfb0a7567443cec3d03cf408d6f562b52f30c3c29df19927f1e0e13a40cd7"}, {file = "ruff-0.0.286-py3-none-manylinux_2_17_ppc64.manylinux2014_ppc64.whl", hash = "sha256:0433683d0c5dbcf6162a4beb2356e820a593243f1fa714072fec15e2e4f4c939"},
{file = "ruff-0.0.277-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f32ec416c24542ca2f9cc8c8b65b84560530d338aaf247a4a78e74b99cd476b4"}, {file = "ruff-0.0.286-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ddb61a0c4454cbe4623f4a07fef03c5ae921fe04fede8d15c6e36703c0a73b07"},
{file = "ruff-0.0.277-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:14a7b2f00f149c5a295f188a643ac25226ff8a4d08f7a62b1d4b0a1dc9f9b85c"}, {file = "ruff-0.0.286-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:47549c7c0be24c8ae9f2bce6f1c49fbafea83bca80142d118306f08ec7414041"},
{file = "ruff-0.0.277-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a9879f59f763cc5628aa01c31ad256a0f4dc61a29355c7315b83c2a5aac932b5"}, {file = "ruff-0.0.286-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:559aa793149ac23dc4310f94f2c83209eedb16908a0343663be19bec42233d25"},
{file = "ruff-0.0.277-py3-none-musllinux_1_2_aarch64.whl", hash = "sha256:f612e0a14b3d145d90eb6ead990064e22f6f27281d847237560b4e10bf2251f3"}, {file = "ruff-0.0.286-py3-none-musllinux_1_2_aarch64.whl", hash = "sha256:d73cfb1c3352e7aa0ce6fb2321f36fa1d4a2c48d2ceac694cb03611ddf0e4db6"},
{file = "ruff-0.0.277-py3-none-musllinux_1_2_armv7l.whl", hash = "sha256:323b674c98078be9aaded5b8b51c0d9c424486566fb6ec18439b496ce79e5998"}, {file = "ruff-0.0.286-py3-none-musllinux_1_2_armv7l.whl", hash = "sha256:3dad93b1f973c6d1db4b6a5da8690c5625a3fa32bdf38e543a6936e634b83dc3"},
{file = "ruff-0.0.277-py3-none-musllinux_1_2_i686.whl", hash = "sha256:3a43fbe026ca1a2a8c45aa0d600a0116bec4dfa6f8bf0c3b871ecda51ef2b5dd"}, {file = "ruff-0.0.286-py3-none-musllinux_1_2_i686.whl", hash = "sha256:26afc0851f4fc3738afcf30f5f8b8612a31ac3455cb76e611deea80f5c0bf3ce"},
{file = "ruff-0.0.277-py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:734165ea8feb81b0d53e3bf523adc2413fdb76f1264cde99555161dd5a725522"}, {file = "ruff-0.0.286-py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:9b6b116d1c4000de1b9bf027131dbc3b8a70507788f794c6b09509d28952c512"},
{file = "ruff-0.0.277-py3-none-win32.whl", hash = "sha256:88d0f2afb2e0c26ac1120e7061ddda2a566196ec4007bd66d558f13b374b9efc"}, {file = "ruff-0.0.286-py3-none-win32.whl", hash = "sha256:556e965ac07c1e8c1c2d759ac512e526ecff62c00fde1a046acb088d3cbc1a6c"},
{file = "ruff-0.0.277-py3-none-win_amd64.whl", hash = "sha256:6fe81732f788894a00f6ade1fe69e996cc9e485b7c35b0f53fb00284397284b2"}, {file = "ruff-0.0.286-py3-none-win_amd64.whl", hash = "sha256:5d295c758961376c84aaa92d16e643d110be32add7465e197bfdaec5a431a107"},
{file = "ruff-0.0.277-py3-none-win_arm64.whl", hash = "sha256:2d4444c60f2e705c14cd802b55cd2b561d25bf4311702c463a002392d3116b22"}, {file = "ruff-0.0.286-py3-none-win_arm64.whl", hash = "sha256:1d6142d53ab7f164204b3133d053c4958d4d11ec3a39abf23a40b13b0784e3f0"},
{file = "ruff-0.0.277.tar.gz", hash = "sha256:2dab13cdedbf3af6d4427c07f47143746b6b95d9e4a254ac369a0edb9280a0d2"}, {file = "ruff-0.0.286.tar.gz", hash = "sha256:f1e9d169cce81a384a26ee5bb8c919fe9ae88255f39a1a69fd1ebab233a85ed2"},
] ]
[[package]] [[package]]
@ -3339,4 +3339,4 @@ user-search = ["pyicu"]
[metadata] [metadata]
lock-version = "2.0" lock-version = "2.0"
python-versions = "^3.8.0" python-versions = "^3.8.0"
content-hash = "0a8c6605e7e1d0ac7188a5d02b47a029bfb0f917458b87cb40755911442383d8" content-hash = "87163d8994d09d3a7983ff647a9987d4277a3966dee48741437f4e98bca7e6db"

View File

@ -312,7 +312,7 @@ all = [
# This helps prevents merge conflicts when running a batch of dependabot updates. # This helps prevents merge conflicts when running a batch of dependabot updates.
isort = ">=5.10.1" isort = ">=5.10.1"
black = ">=22.7.0" black = ">=22.7.0"
ruff = "0.0.277" ruff = "0.0.286"
# Typechecking # Typechecking
lxml-stubs = ">=0.4.0" lxml-stubs = ">=0.4.0"

View File

@ -186,9 +186,9 @@ class Config:
TypeError, if given something other than an integer or a string TypeError, if given something other than an integer or a string
ValueError: if given a string not of the form described above. ValueError: if given a string not of the form described above.
""" """
if type(value) is int: if type(value) is int: # noqa: E721
return value return value
elif type(value) is str: elif isinstance(value, str):
sizes = {"K": 1024, "M": 1024 * 1024} sizes = {"K": 1024, "M": 1024 * 1024}
size = 1 size = 1
suffix = value[-1] suffix = value[-1]
@ -218,9 +218,9 @@ class Config:
TypeError, if given something other than an integer or a string TypeError, if given something other than an integer or a string
ValueError: if given a string not of the form described above. ValueError: if given a string not of the form described above.
""" """
if type(value) is int: if type(value) is int: # noqa: E721
return value return value
elif type(value) is str: elif isinstance(value, str):
second = 1000 second = 1000
minute = 60 * second minute = 60 * second
hour = 60 * minute hour = 60 * minute

View File

@ -34,7 +34,7 @@ class AppServiceConfig(Config):
def read_config(self, config: JsonDict, **kwargs: Any) -> None: def read_config(self, config: JsonDict, **kwargs: Any) -> None:
self.app_service_config_files = config.get("app_service_config_files", []) self.app_service_config_files = config.get("app_service_config_files", [])
if not isinstance(self.app_service_config_files, list) or not all( if not isinstance(self.app_service_config_files, list) or not all(
type(x) is str for x in self.app_service_config_files isinstance(x, str) for x in self.app_service_config_files
): ):
raise ConfigError( raise ConfigError(
"Expected '%s' to be a list of AS config files:" "Expected '%s' to be a list of AS config files:"

View File

@ -852,11 +852,11 @@ def _check_power_levels(
"kick", "kick",
"invite", "invite",
}: }:
if type(v) is not int: if type(v) is not int: # noqa: E721
raise SynapseError(400, f"{v!r} must be an integer.") raise SynapseError(400, f"{v!r} must be an integer.")
if k in {"events", "notifications", "users"}: if k in {"events", "notifications", "users"}:
if not isinstance(v, collections.abc.Mapping) or not all( if not isinstance(v, collections.abc.Mapping) or not all(
type(v) is int for v in v.values() type(v) is int for v in v.values() # noqa: E721
): ):
raise SynapseError( raise SynapseError(
400, 400,

View File

@ -702,7 +702,7 @@ def _copy_power_level_value_as_integer(
:raises TypeError: if `old_value` is neither an integer nor a base-10 string :raises TypeError: if `old_value` is neither an integer nor a base-10 string
representation of an integer. representation of an integer.
""" """
if type(old_value) is int: if type(old_value) is int: # noqa: E721
power_levels[key] = old_value power_levels[key] = old_value
return return
@ -730,7 +730,7 @@ def validate_canonicaljson(value: Any) -> None:
* Floats * Floats
* NaN, Infinity, -Infinity * NaN, Infinity, -Infinity
""" """
if type(value) is int: if type(value) is int: # noqa: E721
if value < CANONICALJSON_MIN_INT or CANONICALJSON_MAX_INT < value: if value < CANONICALJSON_MIN_INT or CANONICALJSON_MAX_INT < value:
raise SynapseError(400, "JSON integer out of range", Codes.BAD_JSON) raise SynapseError(400, "JSON integer out of range", Codes.BAD_JSON)

View File

@ -151,7 +151,7 @@ class EventValidator:
max_lifetime = event.content.get("max_lifetime") max_lifetime = event.content.get("max_lifetime")
if min_lifetime is not None: if min_lifetime is not None:
if type(min_lifetime) is not int: if type(min_lifetime) is not int: # noqa: E721
raise SynapseError( raise SynapseError(
code=400, code=400,
msg="'min_lifetime' must be an integer", msg="'min_lifetime' must be an integer",
@ -159,7 +159,7 @@ class EventValidator:
) )
if max_lifetime is not None: if max_lifetime is not None:
if type(max_lifetime) is not int: if type(max_lifetime) is not int: # noqa: E721
raise SynapseError( raise SynapseError(
code=400, code=400,
msg="'max_lifetime' must be an integer", msg="'max_lifetime' must be an integer",

View File

@ -280,7 +280,7 @@ def event_from_pdu_json(pdu_json: JsonDict, room_version: RoomVersion) -> EventB
_strip_unsigned_values(pdu_json) _strip_unsigned_values(pdu_json)
depth = pdu_json["depth"] depth = pdu_json["depth"]
if type(depth) is not int: if type(depth) is not int: # noqa: E721
raise SynapseError(400, "Depth %r not an intger" % (depth,), Codes.BAD_JSON) raise SynapseError(400, "Depth %r not an intger" % (depth,), Codes.BAD_JSON)
if depth < 0: if depth < 0:

View File

@ -1891,7 +1891,7 @@ class TimestampToEventResponse:
) )
origin_server_ts = d.get("origin_server_ts") origin_server_ts = d.get("origin_server_ts")
if type(origin_server_ts) is not int: if type(origin_server_ts) is not int: # noqa: E721
raise ValueError( raise ValueError(
"Invalid response: 'origin_server_ts' must be a int but received %r" "Invalid response: 'origin_server_ts' must be a int but received %r"
% origin_server_ts % origin_server_ts

View File

@ -379,7 +379,7 @@ class MessageHandler:
""" """
expiry_ts = event.content.get(EventContentFields.SELF_DESTRUCT_AFTER) expiry_ts = event.content.get(EventContentFields.SELF_DESTRUCT_AFTER)
if type(expiry_ts) is not int or event.is_state(): if type(expiry_ts) is not int or event.is_state(): # noqa: E721
return return
# _schedule_expiry_for_event won't actually schedule anything if there's already # _schedule_expiry_for_event won't actually schedule anything if there's already

View File

@ -243,7 +243,7 @@ class LegacyJsonSendParser(_BaseJsonParser[Tuple[int, JsonDict]]):
return ( return (
isinstance(v, list) isinstance(v, list)
and len(v) == 2 and len(v) == 2
and type(v[0]) == int and type(v[0]) == int # noqa: E721
and isinstance(v[1], dict) and isinstance(v[1], dict)
) )

View File

@ -204,7 +204,7 @@ class OEmbedProvider:
calc_description_and_urls(open_graph_response, oembed["html"]) calc_description_and_urls(open_graph_response, oembed["html"])
for size in ("width", "height"): for size in ("width", "height"):
val = oembed.get(size) val = oembed.get(size)
if type(val) is int: if type(val) is int: # noqa: E721
open_graph_response[f"og:video:{size}"] = val open_graph_response[f"og:video:{size}"] = val
elif oembed_type == "link": elif oembed_type == "link":

View File

@ -78,7 +78,7 @@ class Thumbnailer:
image_exif = self.image._getexif() # type: ignore image_exif = self.image._getexif() # type: ignore
if image_exif is not None: if image_exif is not None:
image_orientation = image_exif.get(EXIF_ORIENTATION_TAG) image_orientation = image_exif.get(EXIF_ORIENTATION_TAG)
assert type(image_orientation) is int assert type(image_orientation) is int # noqa: E721
self.transpose_method = EXIF_TRANSPOSE_MAPPINGS.get(image_orientation) self.transpose_method = EXIF_TRANSPOSE_MAPPINGS.get(image_orientation)
except Exception as e: except Exception as e:
# A lot of parsing errors can happen when parsing EXIF # A lot of parsing errors can happen when parsing EXIF

View File

@ -379,7 +379,7 @@ class BulkPushRuleEvaluator:
keys = list(notification_levels.keys()) keys = list(notification_levels.keys())
for key in keys: for key in keys:
level = notification_levels.get(key, SENTINEL) level = notification_levels.get(key, SENTINEL)
if level is not SENTINEL and type(level) is not int: if level is not SENTINEL and type(level) is not int: # noqa: E721
try: try:
notification_levels[key] = int(level) notification_levels[key] = int(level)
except (TypeError, ValueError): except (TypeError, ValueError):
@ -472,7 +472,11 @@ StateGroup = Union[object, int]
def _is_simple_value(value: Any) -> bool: def _is_simple_value(value: Any) -> bool:
return isinstance(value, (bool, str)) or type(value) is int or value is None return (
isinstance(value, (bool, str))
or type(value) is int # noqa: E721
or value is None
)
def _flatten_dict( def _flatten_dict(

View File

@ -157,7 +157,7 @@ class PurgeHistoryRestServlet(RestServlet):
logger.info("[purge] purging up to token %s (event_id %s)", token, event_id) logger.info("[purge] purging up to token %s (event_id %s)", token, event_id)
elif "purge_up_to_ts" in body: elif "purge_up_to_ts" in body:
ts = body["purge_up_to_ts"] ts = body["purge_up_to_ts"]
if type(ts) is not int: if type(ts) is not int: # noqa: E721
raise SynapseError( raise SynapseError(
HTTPStatus.BAD_REQUEST, HTTPStatus.BAD_REQUEST,
"purge_up_to_ts must be an int", "purge_up_to_ts must be an int",

View File

@ -143,7 +143,7 @@ class NewRegistrationTokenRestServlet(RestServlet):
else: else:
# Get length of token to generate (default is 16) # Get length of token to generate (default is 16)
length = body.get("length", 16) length = body.get("length", 16)
if type(length) is not int: if type(length) is not int: # noqa: E721
raise SynapseError( raise SynapseError(
HTTPStatus.BAD_REQUEST, HTTPStatus.BAD_REQUEST,
"length must be an integer", "length must be an integer",
@ -163,7 +163,8 @@ class NewRegistrationTokenRestServlet(RestServlet):
uses_allowed = body.get("uses_allowed", None) uses_allowed = body.get("uses_allowed", None)
if not ( if not (
uses_allowed is None or (type(uses_allowed) is int and uses_allowed >= 0) uses_allowed is None
or (type(uses_allowed) is int and uses_allowed >= 0) # noqa: E721
): ):
raise SynapseError( raise SynapseError(
HTTPStatus.BAD_REQUEST, HTTPStatus.BAD_REQUEST,
@ -172,13 +173,16 @@ class NewRegistrationTokenRestServlet(RestServlet):
) )
expiry_time = body.get("expiry_time", None) expiry_time = body.get("expiry_time", None)
if type(expiry_time) not in (int, type(None)): if expiry_time is not None and type(expiry_time) is not int: # noqa: E721
raise SynapseError( raise SynapseError(
HTTPStatus.BAD_REQUEST, HTTPStatus.BAD_REQUEST,
"expiry_time must be an integer or null", "expiry_time must be an integer or null",
Codes.INVALID_PARAM, Codes.INVALID_PARAM,
) )
if type(expiry_time) is int and expiry_time < self.clock.time_msec(): if (
type(expiry_time) is int # noqa: E721
and expiry_time < self.clock.time_msec()
):
raise SynapseError( raise SynapseError(
HTTPStatus.BAD_REQUEST, HTTPStatus.BAD_REQUEST,
"expiry_time must not be in the past", "expiry_time must not be in the past",
@ -283,7 +287,7 @@ class RegistrationTokenRestServlet(RestServlet):
uses_allowed = body["uses_allowed"] uses_allowed = body["uses_allowed"]
if not ( if not (
uses_allowed is None uses_allowed is None
or (type(uses_allowed) is int and uses_allowed >= 0) or (type(uses_allowed) is int and uses_allowed >= 0) # noqa: E721
): ):
raise SynapseError( raise SynapseError(
HTTPStatus.BAD_REQUEST, HTTPStatus.BAD_REQUEST,
@ -294,13 +298,16 @@ class RegistrationTokenRestServlet(RestServlet):
if "expiry_time" in body: if "expiry_time" in body:
expiry_time = body["expiry_time"] expiry_time = body["expiry_time"]
if type(expiry_time) not in (int, type(None)): if expiry_time is not None and type(expiry_time) is not int: # noqa: E721
raise SynapseError( raise SynapseError(
HTTPStatus.BAD_REQUEST, HTTPStatus.BAD_REQUEST,
"expiry_time must be an integer or null", "expiry_time must be an integer or null",
Codes.INVALID_PARAM, Codes.INVALID_PARAM,
) )
if type(expiry_time) is int and expiry_time < self.clock.time_msec(): if (
type(expiry_time) is int # noqa: E721
and expiry_time < self.clock.time_msec()
):
raise SynapseError( raise SynapseError(
HTTPStatus.BAD_REQUEST, HTTPStatus.BAD_REQUEST,
"expiry_time must not be in the past", "expiry_time must not be in the past",

View File

@ -1172,14 +1172,17 @@ class RateLimitRestServlet(RestServlet):
messages_per_second = body.get("messages_per_second", 0) messages_per_second = body.get("messages_per_second", 0)
burst_count = body.get("burst_count", 0) burst_count = body.get("burst_count", 0)
if type(messages_per_second) is not int or messages_per_second < 0: if (
type(messages_per_second) is not int # noqa: E721
or messages_per_second < 0
):
raise SynapseError( raise SynapseError(
HTTPStatus.BAD_REQUEST, HTTPStatus.BAD_REQUEST,
"%r parameter must be a positive int" % (messages_per_second,), "%r parameter must be a positive int" % (messages_per_second,),
errcode=Codes.INVALID_PARAM, errcode=Codes.INVALID_PARAM,
) )
if type(burst_count) is not int or burst_count < 0: if type(burst_count) is not int or burst_count < 0: # noqa: E721
raise SynapseError( raise SynapseError(
HTTPStatus.BAD_REQUEST, HTTPStatus.BAD_REQUEST,
"%r parameter must be a positive int" % (burst_count,), "%r parameter must be a positive int" % (burst_count,),

View File

@ -55,7 +55,7 @@ class ReportEventRestServlet(RestServlet):
"Param 'reason' must be a string", "Param 'reason' must be a string",
Codes.BAD_JSON, Codes.BAD_JSON,
) )
if type(body.get("score", 0)) is not int: if type(body.get("score", 0)) is not int: # noqa: E721
raise SynapseError( raise SynapseError(
HTTPStatus.BAD_REQUEST, HTTPStatus.BAD_REQUEST,
"Param 'score' must be an integer", "Param 'score' must be an integer",

View File

@ -1671,7 +1671,7 @@ class PersistEventsStore:
if self._ephemeral_messages_enabled: if self._ephemeral_messages_enabled:
# If there's an expiry timestamp on the event, store it. # If there's an expiry timestamp on the event, store it.
expiry_ts = event.content.get(EventContentFields.SELF_DESTRUCT_AFTER) expiry_ts = event.content.get(EventContentFields.SELF_DESTRUCT_AFTER)
if type(expiry_ts) is int and not event.is_state(): if type(expiry_ts) is int and not event.is_state(): # noqa: E721
self._insert_event_expiry_txn(txn, event.event_id, expiry_ts) self._insert_event_expiry_txn(txn, event.event_id, expiry_ts)
# Insert into the room_memberships table. # Insert into the room_memberships table.
@ -2039,10 +2039,10 @@ class PersistEventsStore:
): ):
if ( if (
"min_lifetime" in event.content "min_lifetime" in event.content
and type(event.content["min_lifetime"]) is not int and type(event.content["min_lifetime"]) is not int # noqa: E721
) or ( ) or (
"max_lifetime" in event.content "max_lifetime" in event.content
and type(event.content["max_lifetime"]) is not int and type(event.content["max_lifetime"]) is not int # noqa: E721
): ):
# Ignore the event if one of the value isn't an integer. # Ignore the event if one of the value isn't an integer.
return return