mirror of
https://github.com/ynput/ayon-core.git
synced 2025-12-25 05:14:40 +01:00
added ability to save as defaults
This commit is contained in:
parent
ce198d1c4a
commit
a4a4b5244f
3 changed files with 109 additions and 20 deletions
|
|
@ -6,34 +6,29 @@
|
|||
"celaction_local": true,
|
||||
"celaction_remote": true,
|
||||
"harmony_17": true,
|
||||
"houdini_16": true,
|
||||
"houdini_17": true,
|
||||
"houdini_18": true,
|
||||
"maya_2016": true,
|
||||
"maya_2017": true,
|
||||
"maya_2018": true,
|
||||
"maya_2019": true,
|
||||
"maya_2020": true,
|
||||
"nukestudio_10.0": true,
|
||||
"nukestudio_11.0": true,
|
||||
"nukestudio_11.2": true,
|
||||
"nukestudio_11.3": true,
|
||||
"nukestudio_12.0": true,
|
||||
"nukex_10.0": true,
|
||||
"nukex_11.0": true,
|
||||
"nukex_11.2": true,
|
||||
"nukex_11.3": true,
|
||||
"nukex_12.0": true,
|
||||
"nuke_10.0": true,
|
||||
"nuke_11.0": true,
|
||||
"nuke_11.2": true,
|
||||
"nuke_11.3": true,
|
||||
"nuke_12.0": true,
|
||||
"photoshop_2020": true,
|
||||
"nukex_10.0": true,
|
||||
"nukex_11.2": true,
|
||||
"nukex_11.3": true,
|
||||
"nukex_12.0": true,
|
||||
"nukestudio_10.0": true,
|
||||
"nukestudio_11.2": true,
|
||||
"nukestudio_11.3": true,
|
||||
"nukestudio_12.0": true,
|
||||
"houdini_16": true,
|
||||
"houdini_16.5": false,
|
||||
"houdini_17": true,
|
||||
"houdini_18": true,
|
||||
"premiere_2019": true,
|
||||
"premiere_2020": true,
|
||||
"resolve_16": true,
|
||||
"storyboardpro_7": true,
|
||||
"unreal_4.24": true,
|
||||
"houdini_16.5": false
|
||||
"unreal_4.24": true
|
||||
}
|
||||
|
|
@ -140,6 +140,10 @@
|
|||
"is_group": true,
|
||||
"children": [
|
||||
{
|
||||
"type": "boolean",
|
||||
"key": "enabled",
|
||||
"label": "Enabled"
|
||||
}, {
|
||||
"type": "dict-invisible",
|
||||
"key": "ffmpeg_args",
|
||||
"children": [
|
||||
|
|
|
|||
|
|
@ -2,8 +2,12 @@ import os
|
|||
import json
|
||||
from Qt import QtWidgets, QtCore, QtGui
|
||||
from pype.configurations.lib import (
|
||||
SYSTEM_CONFIGURATIONS_KEY,
|
||||
SYSTEM_CONFIGURATIONS_PATH,
|
||||
PROJECT_CONFIGURATIONS_KEY,
|
||||
PROJECT_CONFIGURATIONS_PATH,
|
||||
DEFAULTS_DIR,
|
||||
reset_default_configurations,
|
||||
default_configuration,
|
||||
studio_system_configurations,
|
||||
project_configurations_overrides,
|
||||
|
|
@ -145,7 +149,50 @@ class SystemWidget(QtWidgets.QWidget):
|
|||
self._update_values()
|
||||
|
||||
def _save_as_defaults(self):
|
||||
print("_save_as_defaults")
|
||||
output = {}
|
||||
for item in self.input_fields:
|
||||
output.update(item.config_value())
|
||||
|
||||
for key in reversed(self.keys):
|
||||
_output = {key: output}
|
||||
output = _output
|
||||
|
||||
all_values = {}
|
||||
for item in self.input_fields:
|
||||
all_values.update(item.config_value())
|
||||
|
||||
for key in reversed(self.keys):
|
||||
_all_values = {key: all_values}
|
||||
all_values = _all_values
|
||||
|
||||
# Skip first key
|
||||
all_values = all_values["system"]
|
||||
|
||||
prject_defaults_dir = os.path.join(
|
||||
DEFAULTS_DIR, SYSTEM_CONFIGURATIONS_KEY
|
||||
)
|
||||
keys_to_file = lib.file_keys_from_schema(self.schema)
|
||||
for key_sequence in keys_to_file:
|
||||
# Skip first key
|
||||
key_sequence = key_sequence[1:]
|
||||
subpath = "/".join(key_sequence) + ".json"
|
||||
|
||||
new_values = all_values
|
||||
for key in key_sequence:
|
||||
new_values = new_values[key]
|
||||
|
||||
output_path = os.path.join(prject_defaults_dir, subpath)
|
||||
dirpath = os.path.dirname(output_path)
|
||||
if not os.path.exists(dirpath):
|
||||
os.makedirs(dirpath)
|
||||
|
||||
print("Saving data to: ", subpath)
|
||||
with open(output_path, "w") as file_stream:
|
||||
json.dump(new_values, file_stream, indent=4)
|
||||
|
||||
reset_default_configurations()
|
||||
|
||||
self._update_values()
|
||||
|
||||
def _update_values(self):
|
||||
self.ignore_value_changes = True
|
||||
|
|
@ -415,7 +462,50 @@ class ProjectWidget(QtWidgets.QWidget):
|
|||
self.ignore_value_changes = False
|
||||
|
||||
def _save_as_defaults(self):
|
||||
print("_save_as_defaults")
|
||||
output = {}
|
||||
for item in self.input_fields:
|
||||
output.update(item.config_value())
|
||||
|
||||
for key in reversed(self.keys):
|
||||
_output = {key: output}
|
||||
output = _output
|
||||
|
||||
all_values = {}
|
||||
for item in self.input_fields:
|
||||
all_values.update(item.config_value())
|
||||
|
||||
for key in reversed(self.keys):
|
||||
_all_values = {key: all_values}
|
||||
all_values = _all_values
|
||||
|
||||
# Skip first key
|
||||
all_values = all_values["project"]
|
||||
|
||||
prject_defaults_dir = os.path.join(
|
||||
DEFAULTS_DIR, PROJECT_CONFIGURATIONS_KEY
|
||||
)
|
||||
keys_to_file = lib.file_keys_from_schema(self.schema)
|
||||
for key_sequence in keys_to_file:
|
||||
# Skip first key
|
||||
key_sequence = key_sequence[1:]
|
||||
subpath = "/".join(key_sequence) + ".json"
|
||||
|
||||
new_values = all_values
|
||||
for key in key_sequence:
|
||||
new_values = new_values[key]
|
||||
|
||||
output_path = os.path.join(prject_defaults_dir, subpath)
|
||||
dirpath = os.path.dirname(output_path)
|
||||
if not os.path.exists(dirpath):
|
||||
os.makedirs(dirpath)
|
||||
|
||||
print("Saving data to: ", subpath)
|
||||
with open(output_path, "w") as file_stream:
|
||||
json.dump(new_values, file_stream, indent=4)
|
||||
|
||||
reset_default_configurations()
|
||||
|
||||
self._update_values()
|
||||
|
||||
def _save(self):
|
||||
has_invalid = False
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue