settings handler saves pype_path from system settings to global settings on save

This commit is contained in:
iLLiCiTiT 2021-03-31 14:58:50 +02:00
parent 969b2dedef
commit cd9254b27d

View file

@ -8,6 +8,7 @@ from abc import ABCMeta, abstractmethod
import six
import pype
from .constants import (
GLOBAL_SETTINGS_KEY,
SYSTEM_SETTINGS_KEY,
PROJECT_SETTINGS_KEY,
PROJECT_ANATOMY_KEY,
@ -401,6 +402,11 @@ class MongoSettingsHandler(SettingsHandler):
self._prepare_project_settings_keys()
return self._attribute_keys
def _prepare_global_settings(self, data):
if "general" not in data:
return {}
return data["general"].get("pype_path") or {}
def save_studio_settings(self, data):
"""Save studio overrides of system settings.
@ -412,8 +418,8 @@ class MongoSettingsHandler(SettingsHandler):
Args:
data(dict): Data of studio overrides with override metadata.
"""
# Store system settings
self.system_settings_cache.update_data(data)
self.collection.replace_one(
{
"type": SYSTEM_SETTINGS_KEY
@ -425,6 +431,22 @@ class MongoSettingsHandler(SettingsHandler):
upsert=True
)
# Get global settings from system settings
global_settings = self._prepare_global_settings(
self.system_settings_cache.data
)
# Store global settings
self.collection.replace_one(
{
"type": GLOBAL_SETTINGS_KEY
},
{
"type": GLOBAL_SETTINGS_KEY,
"data": global_settings
},
upsert=True
)
def save_project_settings(self, project_name, overrides):
"""Save studio overrides of project settings.