From f705bf18cdf7406f4c744e51f142a61da7d3bf39 Mon Sep 17 00:00:00 2001 From: Damego Date: Wed, 20 Jul 2022 15:14:01 +0500 Subject: [PATCH 1/3] fix: fix putting class instance in json --- interactions/api/gateway/client.py | 8 -------- interactions/api/models/attrs_utils.py | 24 +++--------------------- 2 files changed, 3 insertions(+), 29 deletions(-) diff --git a/interactions/api/gateway/client.py b/interactions/api/gateway/client.py index 51a3ffbe9..3f953b6e3 100644 --- a/interactions/api/gateway/client.py +++ b/interactions/api/gateway/client.py @@ -438,14 +438,6 @@ def __modify_guild_cache(): old_obj = self._http.cache[model].get(id) if old_obj: - for key, value in old_obj._json.items(): - if hasattr(value, "_json"): - old_obj._json[key] = value._json - elif isinstance(value, Snowflake): - old_obj._json[key] = int(value) - elif isinstance(value, datetime): - old_obj._json[key] = value.isoformat() - before = model(**old_obj._json) old_obj.update(**obj._json) else: diff --git a/interactions/api/models/attrs_utils.py b/interactions/api/models/attrs_utils.py index 2c34c49b8..45ef3317b 100644 --- a/interactions/api/models/attrs_utils.py +++ b/interactions/api/models/attrs_utils.py @@ -50,24 +50,9 @@ def __init__(self, kwargs_dict: dict = None, /, **other_kwargs): if value is not None and attrib.metadata.get("add_client"): if isinstance(value, list): for item in value: - if isinstance(item, dict): - item["_client"] = client - elif isinstance(item, ClientSerializerMixin): - item._client = client - + item["_client"] = client else: - if isinstance(value, dict): - value["_client"] = client - elif isinstance(value, ClientSerializerMixin): - value._client = client - - # make sure json is recursively handled - if isinstance(value, list): - self._json[attrib_name] = [ - i._json if hasattr(i, "_json") else i for i in value - ] - elif hasattr(value, "_json"): - self._json[attrib_name] = value._json # type: ignore + value["_client"] = client passed_kwargs[attrib_name] = value @@ -110,11 +95,8 @@ def update(self, kwargs_dict: dict = None, /, **other_kwargs): if value is None: continue - if converter := attribs[name].converter: - value = converter(value) - self._json[name] = value - setattr(self, name, value) + setattr(self, name, converter(value) if (converter := attribs[name].converter) else value) @attrs.define(eq=False, init=False, on_setattr=attrs.setters.NO_OP) From b786c12b316b272482b47950a305ec9be6ee8e6f Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Wed, 20 Jul 2022 10:29:01 +0000 Subject: [PATCH 2/3] ci: correct from checks. --- interactions/api/models/attrs_utils.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/interactions/api/models/attrs_utils.py b/interactions/api/models/attrs_utils.py index 45ef3317b..de6b72896 100644 --- a/interactions/api/models/attrs_utils.py +++ b/interactions/api/models/attrs_utils.py @@ -96,7 +96,9 @@ def update(self, kwargs_dict: dict = None, /, **other_kwargs): continue self._json[name] = value - setattr(self, name, converter(value) if (converter := attribs[name].converter) else value) + setattr( + self, name, converter(value) if (converter := attribs[name].converter) else value + ) @attrs.define(eq=False, init=False, on_setattr=attrs.setters.NO_OP) From 18c33b164c9f270f9069e16486d2fdb8e198269f Mon Sep 17 00:00:00 2001 From: Damego Date: Wed, 20 Jul 2022 16:05:19 +0500 Subject: [PATCH 3/3] refactor: remove datetime import --- interactions/api/gateway/client.py | 1 - 1 file changed, 1 deletion(-) diff --git a/interactions/api/gateway/client.py b/interactions/api/gateway/client.py index 3f953b6e3..182bd91b5 100644 --- a/interactions/api/gateway/client.py +++ b/interactions/api/gateway/client.py @@ -12,7 +12,6 @@ new_event_loop, sleep, ) -from datetime import datetime from sys import platform, version_info from time import perf_counter from typing import TYPE_CHECKING, Any, Dict, List, Optional, Tuple, Type, Union