mirror of
https://github.com/ynput/ayon-core.git
synced 2025-12-24 21:04:40 +01:00
removed logic related to env groups
This commit is contained in:
parent
ecbf5d859b
commit
95a8ccb474
7 changed files with 4 additions and 165 deletions
|
|
@ -3,7 +3,6 @@ from .settings import (
|
|||
get_project_settings,
|
||||
get_current_project_settings,
|
||||
get_anatomy_settings,
|
||||
get_environments,
|
||||
|
||||
SystemSettings,
|
||||
ProjectSettings
|
||||
|
|
@ -23,7 +22,6 @@ from .lib import (
|
|||
get_app_environments_for_context,
|
||||
source_hash,
|
||||
get_latest_version,
|
||||
get_global_environments,
|
||||
get_local_site_id,
|
||||
change_openpype_mongo_url,
|
||||
create_project_folders,
|
||||
|
|
@ -69,10 +67,10 @@ __all__ = [
|
|||
"get_project_settings",
|
||||
"get_current_project_settings",
|
||||
"get_anatomy_settings",
|
||||
"get_environments",
|
||||
"get_project_basic_paths",
|
||||
|
||||
"SystemSettings",
|
||||
"ProjectSettings",
|
||||
|
||||
"PypeLogger",
|
||||
"Logger",
|
||||
|
|
@ -102,8 +100,9 @@ __all__ = [
|
|||
|
||||
# get contextual data
|
||||
"version_up",
|
||||
"get_hierarchy",
|
||||
"get_asset",
|
||||
"get_hierarchy",
|
||||
"get_workdir_data",
|
||||
"get_version_from_path",
|
||||
"get_last_version_from_path",
|
||||
"get_app_environments_for_context",
|
||||
|
|
@ -111,7 +110,6 @@ __all__ = [
|
|||
|
||||
"run_subprocess",
|
||||
"get_latest_version",
|
||||
"get_global_environments",
|
||||
|
||||
"get_local_site_id",
|
||||
"change_openpype_mongo_url",
|
||||
|
|
|
|||
|
|
@ -69,57 +69,3 @@ def get_paths_from_environ(env_key=None, env_value=None, return_first=False):
|
|||
return None
|
||||
# Return all existing paths from environment variable
|
||||
return existing_paths
|
||||
|
||||
|
||||
def get_global_environments(env=None):
|
||||
"""Load global environments from Pype.
|
||||
|
||||
Return prepared and parsed global environments by pype's settings. Use
|
||||
combination of "global" environments set in pype's settings and enabled
|
||||
modules.
|
||||
|
||||
Args:
|
||||
env (dict, optional): Initial environments. Empty dictionary is used
|
||||
when not entered.
|
||||
|
||||
Returns;
|
||||
dict of str: Loaded and processed environments.
|
||||
|
||||
"""
|
||||
import acre
|
||||
from openpype.modules import ModulesManager
|
||||
from openpype.settings import get_environments
|
||||
|
||||
if env is None:
|
||||
env = {}
|
||||
|
||||
# Get global environments from settings
|
||||
all_settings_env = get_environments()
|
||||
parsed_global_env = acre.parse(all_settings_env["global"])
|
||||
|
||||
# Merge with entered environments
|
||||
merged_env = acre.append(env, parsed_global_env)
|
||||
|
||||
# Get environments from Pype modules
|
||||
modules_manager = ModulesManager()
|
||||
|
||||
module_envs = modules_manager.collect_global_environments()
|
||||
publish_plugin_dirs = modules_manager.collect_plugin_paths()["publish"]
|
||||
|
||||
# Set pyblish plugins paths if any module want to register them
|
||||
if publish_plugin_dirs:
|
||||
publish_paths_str = os.environ.get("PYBLISHPLUGINPATH") or ""
|
||||
publish_paths = publish_paths_str.split(os.pathsep)
|
||||
_publish_paths = {
|
||||
os.path.normpath(path) for path in publish_paths if path
|
||||
}
|
||||
for path in publish_plugin_dirs:
|
||||
_publish_paths.add(os.path.normpath(path))
|
||||
module_envs["PYBLISHPLUGINPATH"] = os.pathsep.join(_publish_paths)
|
||||
|
||||
# Merge environments with current environments and update values
|
||||
if module_envs:
|
||||
parsed_envs = acre.parse(module_envs)
|
||||
merged_env = acre.merge(parsed_envs, merged_env)
|
||||
|
||||
return acre.compute(merged_env, cleanup=True)
|
||||
|
|
|
|||
|
|
@ -22,7 +22,6 @@ from .lib import (
|
|||
get_project_settings,
|
||||
get_current_project_settings,
|
||||
get_anatomy_settings,
|
||||
get_environments,
|
||||
get_local_settings
|
||||
)
|
||||
from .entities import (
|
||||
|
|
@ -54,7 +53,6 @@ __all__ = (
|
|||
"get_project_settings",
|
||||
"get_current_project_settings",
|
||||
"get_anatomy_settings",
|
||||
"get_environments",
|
||||
"get_local_settings",
|
||||
|
||||
"SystemSettings",
|
||||
|
|
|
|||
|
|
@ -3,14 +3,11 @@ import re
|
|||
|
||||
# Metadata keys for work with studio and project overrides
|
||||
M_OVERRIDDEN_KEY = "__overriden_keys__"
|
||||
# Metadata key for storing information about environments
|
||||
M_ENVIRONMENT_KEY = "__environment_keys__"
|
||||
# Metadata key for storing dynamic created labels
|
||||
M_DYNAMIC_KEY_LABEL = "__dynamic_keys_labels__"
|
||||
|
||||
METADATA_KEYS = frozenset([
|
||||
M_OVERRIDDEN_KEY,
|
||||
M_ENVIRONMENT_KEY,
|
||||
M_DYNAMIC_KEY_LABEL
|
||||
])
|
||||
|
||||
|
|
@ -35,7 +32,6 @@ KEY_REGEX = re.compile(r"^[{}]+$".format(KEY_ALLOWED_SYMBOLS))
|
|||
|
||||
__all__ = (
|
||||
"M_OVERRIDDEN_KEY",
|
||||
"M_ENVIRONMENT_KEY",
|
||||
"M_DYNAMIC_KEY_LABEL",
|
||||
|
||||
"METADATA_KEYS",
|
||||
|
|
|
|||
|
|
@ -15,7 +15,6 @@ from .exceptions import (
|
|||
from openpype.settings.constants import (
|
||||
METADATA_KEYS,
|
||||
M_DYNAMIC_KEY_LABEL,
|
||||
M_ENVIRONMENT_KEY,
|
||||
KEY_REGEX,
|
||||
KEY_ALLOWED_SYMBOLS
|
||||
)
|
||||
|
|
|
|||
|
|
@ -15,10 +15,7 @@ from .exceptions import (
|
|||
EntitySchemaError
|
||||
)
|
||||
|
||||
from openpype.settings.constants import (
|
||||
METADATA_KEYS,
|
||||
M_ENVIRONMENT_KEY
|
||||
)
|
||||
from openpype.settings.constants import METADATA_KEYS
|
||||
|
||||
|
||||
class EndpointEntity(ItemEntity):
|
||||
|
|
|
|||
|
|
@ -9,7 +9,6 @@ from .exceptions import (
|
|||
)
|
||||
from .constants import (
|
||||
M_OVERRIDDEN_KEY,
|
||||
M_ENVIRONMENT_KEY,
|
||||
|
||||
METADATA_KEYS,
|
||||
|
||||
|
|
@ -457,24 +456,6 @@ def get_local_settings():
|
|||
return _LOCAL_SETTINGS_HANDLER.get_local_settings()
|
||||
|
||||
|
||||
class DuplicatedEnvGroups(Exception):
|
||||
def __init__(self, duplicated):
|
||||
self.origin_duplicated = duplicated
|
||||
self.duplicated = {}
|
||||
for key, items in duplicated.items():
|
||||
self.duplicated[key] = []
|
||||
for item in items:
|
||||
self.duplicated[key].append("/".join(item["parents"]))
|
||||
|
||||
msg = "Duplicated environment group keys. {}".format(
|
||||
", ".join([
|
||||
"\"{}\"".format(env_key) for env_key in self.duplicated.keys()
|
||||
])
|
||||
)
|
||||
|
||||
super(DuplicatedEnvGroups, self).__init__(msg)
|
||||
|
||||
|
||||
def load_openpype_default_settings():
|
||||
"""Load openpype default settings."""
|
||||
return load_jsons_from_dir(DEFAULTS_DIR)
|
||||
|
|
@ -624,69 +605,6 @@ def load_jsons_from_dir(path, *args, **kwargs):
|
|||
return output
|
||||
|
||||
|
||||
def find_environments(data, with_items=False, parents=None):
|
||||
""" Find environemnt values from system settings by it's metadata.
|
||||
|
||||
Args:
|
||||
data(dict): System settings data or dictionary which may contain
|
||||
environments metadata.
|
||||
|
||||
Returns:
|
||||
dict: Key as Environment key and value for `acre` module.
|
||||
"""
|
||||
if not data or not isinstance(data, dict):
|
||||
return {}
|
||||
|
||||
output = {}
|
||||
if parents is None:
|
||||
parents = []
|
||||
|
||||
if M_ENVIRONMENT_KEY in data:
|
||||
metadata = data.get(M_ENVIRONMENT_KEY)
|
||||
for env_group_key, env_keys in metadata.items():
|
||||
if env_group_key not in output:
|
||||
output[env_group_key] = []
|
||||
|
||||
_env_values = {}
|
||||
for key in env_keys:
|
||||
_env_values[key] = data[key]
|
||||
|
||||
item = {
|
||||
"env": _env_values,
|
||||
"parents": parents[:-1]
|
||||
}
|
||||
output[env_group_key].append(item)
|
||||
|
||||
for key, value in data.items():
|
||||
_parents = copy.deepcopy(parents)
|
||||
_parents.append(key)
|
||||
result = find_environments(value, True, _parents)
|
||||
if not result:
|
||||
continue
|
||||
|
||||
for env_group_key, env_values in result.items():
|
||||
if env_group_key not in output:
|
||||
output[env_group_key] = []
|
||||
|
||||
for env_values_item in env_values:
|
||||
output[env_group_key].append(env_values_item)
|
||||
|
||||
if with_items:
|
||||
return output
|
||||
|
||||
duplicated_env_groups = {}
|
||||
final_output = {}
|
||||
for key, value_in_list in output.items():
|
||||
if len(value_in_list) > 1:
|
||||
duplicated_env_groups[key] = value_in_list
|
||||
else:
|
||||
final_output[key] = value_in_list[0]["env"]
|
||||
|
||||
if duplicated_env_groups:
|
||||
raise DuplicatedEnvGroups(duplicated_env_groups)
|
||||
return final_output
|
||||
|
||||
|
||||
def subkey_merge(_dict, value, keys):
|
||||
key = keys.pop(0)
|
||||
if not keys:
|
||||
|
|
@ -1082,19 +1000,6 @@ def get_current_project_settings():
|
|||
return get_project_settings(project_name)
|
||||
|
||||
|
||||
def get_environments():
|
||||
"""Calculated environment based on defaults and system settings.
|
||||
|
||||
Any default environment also found in the system settings will be fully
|
||||
overridden by the one from the system settings.
|
||||
|
||||
Returns:
|
||||
dict: Output should be ready for `acre` module.
|
||||
"""
|
||||
|
||||
return find_environments(get_system_settings(False))
|
||||
|
||||
|
||||
def get_general_environments():
|
||||
"""Get general environments.
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue