From ecf220156eec101eb6f3c88f4798f54d144ea209 Mon Sep 17 00:00:00 2001 From: Milan Kolar Date: Fri, 4 Dec 2020 12:11:31 +0100 Subject: [PATCH] add sync server to settings --- pype/modules/sync_server/providers/gdrive.py | 9 +- pype/modules/sync_server/sync_server.py | 4 +- .../defaults/project_settings/global.json | 13 ++ .../defaults/system_settings/modules.json | 15 ++ .../projects_schema/schema_main.json | 134 +++++++++--------- .../schema_project_global.json | 5 + .../schema_project_syncserver.json | 60 ++++++++ .../system_schema/schema_modules.json | 11 ++ 8 files changed, 179 insertions(+), 72 deletions(-) create mode 100644 pype/tools/settings/settings/gui_schemas/projects_schema/schema_project_syncserver.json diff --git a/pype/modules/sync_server/providers/gdrive.py b/pype/modules/sync_server/providers/gdrive.py index 0e68b1963a..9e30324432 100644 --- a/pype/modules/sync_server/providers/gdrive.py +++ b/pype/modules/sync_server/providers/gdrive.py @@ -6,7 +6,7 @@ from googleapiclient import errors from .abstract_provider import AbstractProvider from googleapiclient.http import MediaFileUpload, MediaIoBaseDownload from pype.api import Logger -from pype.api import config +from pype.api import get_system_settings from ..utils import time_function SCOPES = ['https://www.googleapis.com/auth/drive.metadata.readonly', @@ -597,7 +597,12 @@ class GDriveHandler(AbstractProvider): """ provider_presets = None try: - provider_presets = config.get_presets()["sync_server"]["gdrive"] + provider_presets = ( + get_system_settings()["modules"] + ["sync_server"] + ["providers"] + ["gdrive"] + ) except KeyError: log.info(("Sync Server: There are no presets for Gdrive " + "provider."). diff --git a/pype/modules/sync_server/sync_server.py b/pype/modules/sync_server/sync_server.py index 97bda589f8..ef7a5616b7 100644 --- a/pype/modules/sync_server/sync_server.py +++ b/pype/modules/sync_server/sync_server.py @@ -1,4 +1,4 @@ -from pype.api import config, Logger +from pype.api import get_system_settings, Logger import threading import asyncio @@ -92,7 +92,7 @@ class SyncServer(): self.connection = AvalonMongoDB() try: - self.presets = config.get_presets()["sync_server"]["config"] + self.presets = get_system_settings()["sync_server"]["config"] self.sync_server_thread = SyncServerThread(self) diff --git a/pype/settings/defaults/project_settings/global.json b/pype/settings/defaults/project_settings/global.json index da56fd34e7..b3cc1bcaae 100644 --- a/pype/settings/defaults/project_settings/global.json +++ b/pype/settings/defaults/project_settings/global.json @@ -178,5 +178,18 @@ "editorial[ftrack.Folder]": {} } } + }, + "sync_server": { + "enabled": false, + "config": { + "local_id": "", + "retry_cnt": "", + "loop_delay": "", + "active_site": "", + "remote_site": "" + }, + "providers": { + "gdrive": {} + } } } diff --git a/pype/settings/defaults/system_settings/modules.json b/pype/settings/defaults/system_settings/modules.json index 93c099a43e..a985a789b5 100644 --- a/pype/settings/defaults/system_settings/modules.json +++ b/pype/settings/defaults/system_settings/modules.json @@ -146,6 +146,21 @@ "enabled": false, "workspace_name": "studio name" }, + "sync_server": { + "enabled": false, + "config": { + "local_id": "local_0", + "retry_cnt": "3", + "loop_delay": "60", + "active_site": "studio", + "remote_site": "gdrive" + }, + "providers": { + "gdrive": { + "credentials_url": "" + } + } + }, "deadline": { "enabled": true, "DEADLINE_REST_URL": "http://localhost:8082" diff --git a/pype/tools/settings/settings/gui_schemas/projects_schema/schema_main.json b/pype/tools/settings/settings/gui_schemas/projects_schema/schema_main.json index 5b3c399666..9f7eb8fce3 100644 --- a/pype/tools/settings/settings/gui_schemas/projects_schema/schema_main.json +++ b/pype/tools/settings/settings/gui_schemas/projects_schema/schema_main.json @@ -2,73 +2,71 @@ "key": "project", "type": "dict", "children": [ + { + "type": "anatomy", + "key": "project_anatomy", + "children": [ { - "type": "anatomy", - "key": "project_anatomy", - "children": [ - { - "type": "anatomy_roots", - "key": "roots", - "is_file": true - }, - { - "type": "schema", - "name": "schema_anatomy_templates" - }, - { - "type": "schema", - "name": "schema_anatomy_attributes" - }, - { - "type": "schema", - "name": "schema_anatomy_imageio" - } - ] - }, { - "type": "dict", - "key": "project_settings", - "children": [ - { - "type": "schema", - "name": "schema_project_global" - }, - { - "type": "schema", - "name": "schema_project_ftrack" - }, - { - "type": "schema", - "name": "schema_project_maya" - }, - { - "type": "schema", - "name": "schema_project_nuke" - }, - { - "type": "schema", - "name": "schema_project_hiero" - }, - { - "type": "schema", - "name": "schema_project_harmony" - }, - { - "type": "schema", - "name": "schema_project_celaction" - }, - { - "type": "schema", - "name": "schema_project_resolve" - }, - { - "type": "schema", - "name": "schema_project_standalonepublisher" - }, - { - "type": "schema", - "name": "schema_project_unreal" - } - ] - } - ] + "type": "anatomy_roots", + "key": "roots", + "is_file": true + }, + { + "type": "schema", + "name": "schema_anatomy_templates" + }, + { + "type": "schema", + "name": "schema_anatomy_attributes" + }, + { + "type": "schema", + "name": "schema_anatomy_imageio" + }] + }, + { + "type": "dict", + "key": "project_settings", + "children": [ + { + "type": "schema", + "name": "schema_project_global" + }, + { + "type": "schema", + "name": "schema_project_ftrack" + }, + { + "type": "schema", + "name": "schema_project_maya" + }, + { + "type": "schema", + "name": "schema_project_nuke" + }, + { + "type": "schema", + "name": "schema_project_hiero" + }, + { + "type": "schema", + "name": "schema_project_harmony" + }, + { + "type": "schema", + "name": "schema_project_celaction" + }, + { + "type": "schema", + "name": "schema_project_resolve" + }, + { + "type": "schema", + "name": "schema_project_standalonepublisher" + }, + { + "type": "schema", + "name": "schema_project_unreal" + }] + }] } diff --git a/pype/tools/settings/settings/gui_schemas/projects_schema/schema_project_global.json b/pype/tools/settings/settings/gui_schemas/projects_schema/schema_project_global.json index 75731fe207..efc751dfc2 100644 --- a/pype/tools/settings/settings/gui_schemas/projects_schema/schema_project_global.json +++ b/pype/tools/settings/settings/gui_schemas/projects_schema/schema_project_global.json @@ -23,6 +23,11 @@ "key": "project_folder_structure", "label": "" }] + }, + + { + "type": "schema", + "name": "schema_project_syncserver" } ] } diff --git a/pype/tools/settings/settings/gui_schemas/projects_schema/schema_project_syncserver.json b/pype/tools/settings/settings/gui_schemas/projects_schema/schema_project_syncserver.json new file mode 100644 index 0000000000..0ec96c597c --- /dev/null +++ b/pype/tools/settings/settings/gui_schemas/projects_schema/schema_project_syncserver.json @@ -0,0 +1,60 @@ +{ + "type": "dict", + "key": "sync_server", + "label": "Sync Server (currently unused)", + "collapsable": true, + "checkbox_key": "enabled", + "is_file": true, + "children": [ + { + "type": "boolean", + "key": "enabled", + "label": "Enabled" + }, + { + "type": "dict", + "key": "config", + "label": "Config", + "collapsable": true, + "children": [ + + { + "type": "text", + "key": "local_id", + "label": "Local ID" + }, + { + "type": "text", + "key": "retry_cnt", + "label": "Retry Count" + }, + { + "type": "text", + "key": "loop_delay", + "label": "Loop Delay" + }, + { + "type": "text", + "key": "active_site", + "label": "Active Site" + }, + { + "type": "text", + "key": "remote_site", + "label": "Remote Site" + } + ] + }, { + "type": "dict", + "key": "providers", + "label": "Providers", + "collapsable": true, + "checkbox_key": "enabled", + "children": [ + { + "type": "raw-json", + "key": "gdrive", + "label": "Gdrive Provider" + }] + }] +} diff --git a/pype/tools/settings/settings/gui_schemas/system_schema/schema_modules.json b/pype/tools/settings/settings/gui_schemas/system_schema/schema_modules.json index 62aaafc27b..b8c33655a0 100644 --- a/pype/tools/settings/settings/gui_schemas/system_schema/schema_modules.json +++ b/pype/tools/settings/settings/gui_schemas/system_schema/schema_modules.json @@ -99,6 +99,17 @@ } ] }, { + "type": "dict", + "key": "sync_server", + "label": "Sync Server", + "collapsable": true, + "checkbox_key": "enabled", + "children": [{ + "type": "boolean", + "key": "enabled", + "label": "Enabled" + }] + }, { "type": "dict", "key": "deadline", "label": "Deadline",