mirror of
https://git.anonymousland.org/anonymousland/synapse.git
synced 2025-12-15 22:13:52 -05:00
Prefer type(x) is int to isinstance(x, int) (#14945)
* Perfer `type(x) is int` to `isinstance(x, int)` This covered all additional instances I could see where `x` was user-controlled. The remaining cases are ``` $ rg -s 'isinstance.*[^_]int' tests/replication/_base.py 576: if isinstance(obj, int): synapse/util/caches/stream_change_cache.py 136: assert isinstance(stream_pos, int) 214: assert isinstance(stream_pos, int) 246: assert isinstance(stream_pos, int) 267: assert isinstance(stream_pos, int) synapse/replication/tcp/external_cache.py 133: if isinstance(result, int): synapse/metrics/__init__.py 100: if isinstance(calls, (int, float)): synapse/handlers/appservice.py 262: assert isinstance(new_token, int) synapse/config/_util.py 62: if isinstance(p, int): ``` which cover metrics, logic related to `jsonschema`, and replication and data streams. AFAICS these are all internal to Synapse * Changelog
This commit is contained in:
parent
510d4b06e7
commit
796a4b7482
14 changed files with 75 additions and 47 deletions
|
|
@ -152,7 +152,7 @@ class PurgeHistoryRestServlet(RestServlet):
|
|||
logger.info("[purge] purging up to token %s (event_id %s)", token, event_id)
|
||||
elif "purge_up_to_ts" in body:
|
||||
ts = body["purge_up_to_ts"]
|
||||
if not isinstance(ts, int):
|
||||
if type(ts) is not int:
|
||||
raise SynapseError(
|
||||
HTTPStatus.BAD_REQUEST,
|
||||
"purge_up_to_ts must be an int",
|
||||
|
|
|
|||
|
|
@ -143,7 +143,7 @@ class NewRegistrationTokenRestServlet(RestServlet):
|
|||
else:
|
||||
# Get length of token to generate (default is 16)
|
||||
length = body.get("length", 16)
|
||||
if not isinstance(length, int):
|
||||
if type(length) is not int:
|
||||
raise SynapseError(
|
||||
HTTPStatus.BAD_REQUEST,
|
||||
"length must be an integer",
|
||||
|
|
@ -163,8 +163,7 @@ class NewRegistrationTokenRestServlet(RestServlet):
|
|||
|
||||
uses_allowed = body.get("uses_allowed", None)
|
||||
if not (
|
||||
uses_allowed is None
|
||||
or (isinstance(uses_allowed, int) and uses_allowed >= 0)
|
||||
uses_allowed is None or (type(uses_allowed) is int and uses_allowed >= 0)
|
||||
):
|
||||
raise SynapseError(
|
||||
HTTPStatus.BAD_REQUEST,
|
||||
|
|
@ -173,13 +172,13 @@ class NewRegistrationTokenRestServlet(RestServlet):
|
|||
)
|
||||
|
||||
expiry_time = body.get("expiry_time", None)
|
||||
if not isinstance(expiry_time, (int, type(None))):
|
||||
if type(expiry_time) not in (int, type(None)):
|
||||
raise SynapseError(
|
||||
HTTPStatus.BAD_REQUEST,
|
||||
"expiry_time must be an integer or null",
|
||||
Codes.INVALID_PARAM,
|
||||
)
|
||||
if isinstance(expiry_time, int) and expiry_time < self.clock.time_msec():
|
||||
if type(expiry_time) is int and expiry_time < self.clock.time_msec():
|
||||
raise SynapseError(
|
||||
HTTPStatus.BAD_REQUEST,
|
||||
"expiry_time must not be in the past",
|
||||
|
|
@ -284,7 +283,7 @@ class RegistrationTokenRestServlet(RestServlet):
|
|||
uses_allowed = body["uses_allowed"]
|
||||
if not (
|
||||
uses_allowed is None
|
||||
or (isinstance(uses_allowed, int) and uses_allowed >= 0)
|
||||
or (type(uses_allowed) is int and uses_allowed >= 0)
|
||||
):
|
||||
raise SynapseError(
|
||||
HTTPStatus.BAD_REQUEST,
|
||||
|
|
@ -295,13 +294,13 @@ class RegistrationTokenRestServlet(RestServlet):
|
|||
|
||||
if "expiry_time" in body:
|
||||
expiry_time = body["expiry_time"]
|
||||
if not isinstance(expiry_time, (int, type(None))):
|
||||
if type(expiry_time) not in (int, type(None)):
|
||||
raise SynapseError(
|
||||
HTTPStatus.BAD_REQUEST,
|
||||
"expiry_time must be an integer or null",
|
||||
Codes.INVALID_PARAM,
|
||||
)
|
||||
if isinstance(expiry_time, int) and expiry_time < self.clock.time_msec():
|
||||
if type(expiry_time) is int and expiry_time < self.clock.time_msec():
|
||||
raise SynapseError(
|
||||
HTTPStatus.BAD_REQUEST,
|
||||
"expiry_time must not be in the past",
|
||||
|
|
|
|||
|
|
@ -973,7 +973,7 @@ class UserTokenRestServlet(RestServlet):
|
|||
body = parse_json_object_from_request(request, allow_empty_body=True)
|
||||
|
||||
valid_until_ms = body.get("valid_until_ms")
|
||||
if valid_until_ms and not isinstance(valid_until_ms, int):
|
||||
if type(valid_until_ms) not in (int, type(None)):
|
||||
raise SynapseError(
|
||||
HTTPStatus.BAD_REQUEST, "'valid_until_ms' parameter must be an int"
|
||||
)
|
||||
|
|
@ -1125,14 +1125,14 @@ class RateLimitRestServlet(RestServlet):
|
|||
messages_per_second = body.get("messages_per_second", 0)
|
||||
burst_count = body.get("burst_count", 0)
|
||||
|
||||
if not isinstance(messages_per_second, int) or messages_per_second < 0:
|
||||
if type(messages_per_second) is not int or messages_per_second < 0:
|
||||
raise SynapseError(
|
||||
HTTPStatus.BAD_REQUEST,
|
||||
"%r parameter must be a positive int" % (messages_per_second,),
|
||||
errcode=Codes.INVALID_PARAM,
|
||||
)
|
||||
|
||||
if not isinstance(burst_count, int) or burst_count < 0:
|
||||
if type(burst_count) is not int or burst_count < 0:
|
||||
raise SynapseError(
|
||||
HTTPStatus.BAD_REQUEST,
|
||||
"%r parameter must be a positive int" % (burst_count,),
|
||||
|
|
|
|||
|
|
@ -54,7 +54,7 @@ class ReportEventRestServlet(RestServlet):
|
|||
"Param 'reason' must be a string",
|
||||
Codes.BAD_JSON,
|
||||
)
|
||||
if not isinstance(body.get("score", 0), int):
|
||||
if type(body.get("score", 0)) is not int:
|
||||
raise SynapseError(
|
||||
HTTPStatus.BAD_REQUEST,
|
||||
"Param 'score' must be an integer",
|
||||
|
|
|
|||
|
|
@ -200,7 +200,7 @@ class OEmbedProvider:
|
|||
calc_description_and_urls(open_graph_response, oembed["html"])
|
||||
for size in ("width", "height"):
|
||||
val = oembed.get(size)
|
||||
if val is not None and isinstance(val, int):
|
||||
if type(val) is int:
|
||||
open_graph_response[f"og:video:{size}"] = val
|
||||
|
||||
elif oembed_type == "link":
|
||||
|
|
|
|||
|
|
@ -77,7 +77,7 @@ class Thumbnailer:
|
|||
image_exif = self.image._getexif() # type: ignore
|
||||
if image_exif is not None:
|
||||
image_orientation = image_exif.get(EXIF_ORIENTATION_TAG)
|
||||
assert isinstance(image_orientation, int)
|
||||
assert type(image_orientation) is int
|
||||
self.transpose_method = EXIF_TRANSPOSE_MAPPINGS.get(image_orientation)
|
||||
except Exception as e:
|
||||
# A lot of parsing errors can happen when parsing EXIF
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue