From 5a94f2d0413f6a5c80afe8c31aa77cfe37996aa7 Mon Sep 17 00:00:00 2001 From: retoor Date: Thu, 13 Feb 2025 09:26:50 +0000 Subject: [PATCH] fix: fallback to data dict key lookup in RPC result __getitem__ and prevent overwrite in __setitem__ --- src/snekbot/rpc.py | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/src/snekbot/rpc.py b/src/snekbot/rpc.py index 5b684ef..f98cdac 100644 --- a/src/snekbot/rpc.py +++ b/src/snekbot/rpc.py @@ -38,11 +38,18 @@ class RPC: def __getitem__(self, name): logger.debug("Getting result data: " + name + ".") - return self.__dict__[name] - + try: + return self.__dict__[name] + except: + pass + return self.__dict__.get('data',{})[name] + def __setitem__(self, name, value): logger.debug("Setting result data: " + name + ".") - self.__dict__[name] = value + if not name in self.__dict__.get('data',{}): + self.__dict__[name] = value + else: + self.__dict__['data'][name] = value def __str__(self): return json.dumps(self.__dict__, default=str, indent=2)