prepared structure of MongoSettingsHandler

This commit is contained in:
iLLiCiTiT 2020-12-11 16:33:17 +01:00
parent 19b2c77621
commit b6120e3a23

View file

@ -5,15 +5,7 @@ from abc import ABCMeta, abstractmethod
import six
import pype
from .constants import (
M_OVERRIDEN_KEY,
M_ENVIRONMENT_KEY,
M_DYNAMIC_KEY_LABEL,
M_POP_KEY,
METADATA_KEYS,
SYSTEM_SETTINGS_KEY,
ENVIRONMENTS_KEY,
PROJECT_SETTINGS_KEY,
PROJECT_ANATOMY_KEY
)
@ -295,3 +287,75 @@ class SettingsFileHandler(SettingsHandler):
if not os.path.exists(path_to_json):
return {}
return self.load_json_file(path_to_json)
class MongoSettingsHandler(SettingsHandler):
def __init__(self):
pass
@classmethod
def save_studio_settings(self, data):
"""Save studio overrides of system settings.
Do not use to store whole system settings data with defaults but only it's
overrides with metadata defining how overrides should be applied in load
function. For loading should be used function `studio_system_settings`.
Args:
data(dict): Data of studio overrides with override metadata.
"""
def save_project_settings(self, project_name, overrides):
"""Save studio overrides of project settings.
Data are saved for specific project or as defaults for all projects.
Do not use to store whole project settings data with defaults but only it's
overrides with metadata defining how overrides should be applied in load
function. For loading should be used function
`get_studio_project_settings_overrides` for global project settings
and `get_project_settings_overrides` for project specific settings.
Args:
project_name(str, null): Project name for which overrides are
or None for global settings.
data(dict): Data of project overrides with override metadata.
"""
def save_project_anatomy(self, project_name, anatomy_data):
"""Save studio overrides of project anatomy data.
Args:
project_name(str, null): Project name for which overrides are
or None for global settings.
data(dict): Data of project overrides with override metadata.
"""
def get_studio_system_settings_overrides(self):
"""Studio overrides of system settings."""
def get_studio_project_settings_overrides(self):
"""Studio overrides of default project settings."""
def get_studio_project_anatomy_overrides(self):
"""Studio overrides of default project anatomy data."""
def get_project_settings_overrides(self, project_name):
"""Studio overrides of project settings for specific project.
Args:
project_name(str): Name of project for which data should be loaded.
Returns:
dict: Only overrides for entered project, may be empty dictionary.
"""
def get_project_anatomy_overrides(self, project_name):
"""Studio overrides of project anatomy for specific project.
Args:
project_name(str): Name of project for which data should be loaded.
Returns:
dict: Only overrides for entered project, may be empty dictionary.
"""