mirror of
https://github.com/ynput/ayon-core.git
synced 2026-01-01 16:34:53 +01:00
ftrack server send presets to ftrack plugins
This commit is contained in:
parent
01926282d9
commit
4553ecc6b7
1 changed files with 23 additions and 8 deletions
|
|
@ -5,7 +5,9 @@ import importlib
|
||||||
from pype.vendor import ftrack_api
|
from pype.vendor import ftrack_api
|
||||||
import time
|
import time
|
||||||
import logging
|
import logging
|
||||||
from pypeapp import Logger
|
import inspect
|
||||||
|
from pypeapp import Logger, config
|
||||||
|
|
||||||
|
|
||||||
log = Logger().get_logger(__name__)
|
log = Logger().get_logger(__name__)
|
||||||
|
|
||||||
|
|
@ -67,7 +69,7 @@ class FtrackServer():
|
||||||
|
|
||||||
def set_files(self, paths):
|
def set_files(self, paths):
|
||||||
# Iterate all paths
|
# Iterate all paths
|
||||||
functions = []
|
register_functions_dict = []
|
||||||
for path in paths:
|
for path in paths:
|
||||||
# add path to PYTHON PATH
|
# add path to PYTHON PATH
|
||||||
if path not in sys.path:
|
if path not in sys.path:
|
||||||
|
|
@ -98,7 +100,7 @@ class FtrackServer():
|
||||||
log.warning(msg)
|
log.warning(msg)
|
||||||
continue
|
continue
|
||||||
|
|
||||||
functions.append({
|
register_functions_dict.append({
|
||||||
'name': file,
|
'name': file,
|
||||||
'register': mod_functions['register']
|
'register': mod_functions['register']
|
||||||
})
|
})
|
||||||
|
|
@ -108,19 +110,32 @@ class FtrackServer():
|
||||||
)
|
)
|
||||||
log.warning(msg)
|
log.warning(msg)
|
||||||
|
|
||||||
if len(functions) < 1:
|
if len(register_functions_dict) < 1:
|
||||||
raise Exception
|
raise Exception
|
||||||
|
|
||||||
|
# Load presets for setting plugins
|
||||||
|
key = "user"
|
||||||
|
if self.type.lower() == "event":
|
||||||
|
key = "server"
|
||||||
|
plugins_presets = config.get_presets().get(
|
||||||
|
"ftrack", {}
|
||||||
|
).get("plugins", {}).get(key, {})
|
||||||
|
|
||||||
function_counter = 0
|
function_counter = 0
|
||||||
for function in functions:
|
for function_dict in register_functions_dict:
|
||||||
|
register = function_dict["register"]
|
||||||
try:
|
try:
|
||||||
function['register'](self.session)
|
if len(inspect.signature(register).parameters) == 1:
|
||||||
|
register(self.session)
|
||||||
|
else:
|
||||||
|
register(self.session, plugins_presets=plugins_presets)
|
||||||
|
|
||||||
if function_counter%7 == 0:
|
if function_counter%7 == 0:
|
||||||
time.sleep(0.1)
|
time.sleep(0.1)
|
||||||
function_counter += 1
|
function_counter += 1
|
||||||
except Exception as e:
|
except Exception as exc:
|
||||||
msg = '"{}" - register was not successful ({})'.format(
|
msg = '"{}" - register was not successful ({})'.format(
|
||||||
function['name'], str(e)
|
function_dict['name'], str(exc)
|
||||||
)
|
)
|
||||||
log.warning(msg)
|
log.warning(msg)
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue