From 2a6541eb9038af93160c9c78c8e4efbd00fd74bf Mon Sep 17 00:00:00 2001 From: iLLiCiTiT Date: Mon, 14 Dec 2020 11:23:16 +0100 Subject: [PATCH] return copy of data ot pure data --- pype/settings/handlers.py | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/pype/settings/handlers.py b/pype/settings/handlers.py index 332392cf42..0df4c98820 100644 --- a/pype/settings/handlers.py +++ b/pype/settings/handlers.py @@ -1,5 +1,6 @@ import os import json +import copy import logging import collections import datetime @@ -286,6 +287,11 @@ class CacheValues: self.data = None self.creation_time = None + def data_copy(self): + if not self.data: + return {} + return copy.deepcopy(self.data) + def update_data(self, data): self.data = data self.creation_time = datetime.datetime.now() @@ -424,7 +430,7 @@ class MongoSettingsHandler(SettingsHandler): }) self.system_settings_cache.update_from_document(document) - return self.system_settings_cache.data + return self.system_settings_cache.data_copy() def _get_project_settings_overrides(self, project_name): if self.project_settings_cache[project_name].is_outdated: @@ -439,7 +445,7 @@ class MongoSettingsHandler(SettingsHandler): self.project_settings_cache[project_name].update_from_document( document ) - return self.project_settings_cache[project_name].data + return self.project_settings_cache[project_name].data_copy() def get_studio_project_settings_overrides(self): """Studio overrides of default project settings.""" @@ -471,7 +477,7 @@ class MongoSettingsHandler(SettingsHandler): self.project_anatomy_cache[project_name].update_from_document( document ) - return self.project_anatomy_cache[project_name].data + return self.project_anatomy_cache[project_name].data_copy() def get_studio_project_anatomy_overrides(self): """Studio overrides of default project anatomy data."""