diff --git a/src/sakia/core/net/api/bma/access.py b/src/sakia/core/net/api/bma/access.py index 94828b18e7e1c60bad504f16a9c93c53a03201aa..b4b95e2534beff5ca4f7ae41fd4b910095849b13 100644 --- a/src/sakia/core/net/api/bma/access.py +++ b/src/sakia/core/net/api/bma/access.py @@ -9,6 +9,7 @@ import random from socket import gaierror import jsonschema from pkg_resources import parse_version +import copy class BmaAccess(QObject): @@ -127,7 +128,7 @@ class BmaAccess(QObject): elif str(request) in BmaAccess.__saved_requests \ or cached_data['metadata']['block_hash'] == self._network.current_blockUID.sha_hash: need_reload = False - ret_data = cached_data['value'] + ret_data = copy.deepcopy(cached_data['value']) else: need_reload = True ret_data = None @@ -172,7 +173,7 @@ class BmaAccess(QObject): self._data[cache_key]['metadata']['block_hash'] = self._network.current_blockUID.sha_hash self._data[cache_key]['metadata']['sakia_version'] = __version__ if not self._compare_json(self._data[cache_key]['value'], data): - self._data[cache_key]['value'] = data + self._data[cache_key]['value'] = copy.deepcopy(data) return True return False