Merge branch 'hotfix/nuke-workfile-publish' into develop

This commit is contained in:
Jakub Jezek 2019-11-12 12:53:14 +01:00
commit 69639b30a0
8 changed files with 22 additions and 22 deletions

View file

@ -78,10 +78,10 @@ def check_mongo_url(host, port, log_error=False):
def validate_credentials(url, user, api): def validate_credentials(url, user, api):
first_validation = True first_validation = True
if not user: if not user:
print('ERROR: Ftrack Username is not set! Exiting.') print('- Ftrack Username is not set')
first_validation = False first_validation = False
if not api: if not api:
print('ERROR: Ftrack API key is not set! Exiting.') print('- Ftrack API key is not set')
first_validation = False first_validation = False
if not first_validation: if not first_validation:
return False return False
@ -491,10 +491,12 @@ def main(argv):
# Check url regex and accessibility # Check url regex and accessibility
ftrack_url = check_ftrack_url(ftrack_url) ftrack_url = check_ftrack_url(ftrack_url)
if not ftrack_url: if not ftrack_url:
print('Exiting! < Please enter Ftrack server url >')
return 1 return 1
# Validate entered credentials # Validate entered credentials
if not validate_credentials(ftrack_url, username, api_key): if not validate_credentials(ftrack_url, username, api_key):
print('Exiting! < Please enter valid credentials >')
return 1 return 1
# Process events path # Process events path
@ -534,8 +536,4 @@ if __name__ == "__main__":
signal.signal(signal.SIGINT, signal_handler) signal.signal(signal.SIGINT, signal_handler)
signal.signal(signal.SIGTERM, signal_handler) signal.signal(signal.SIGTERM, signal_handler)
try:
signal.signal(signal.SIGKILL, signal_handler)
except OSError:
pass
sys.exit(main(sys.argv)) sys.exit(main(sys.argv))

View file

@ -47,8 +47,5 @@ if __name__ == "__main__":
signal.signal(signal.SIGINT, signal_handler) signal.signal(signal.SIGINT, signal_handler)
signal.signal(signal.SIGTERM, signal_handler) signal.signal(signal.SIGTERM, signal_handler)
try:
signal.signal(signal.SIGKILL, signal_handler)
except OSError:
pass
sys.exit(main(sys.argv)) sys.exit(main(sys.argv))

View file

@ -112,8 +112,5 @@ if __name__ == "__main__":
signal.signal(signal.SIGINT, signal_handler) signal.signal(signal.SIGINT, signal_handler)
signal.signal(signal.SIGTERM, signal_handler) signal.signal(signal.SIGTERM, signal_handler)
try:
signal.signal(signal.SIGKILL, signal_handler)
except OSError:
pass
sys.exit(main(sys.argv)) sys.exit(main(sys.argv))

View file

@ -94,8 +94,5 @@ if __name__ == "__main__":
signal.signal(signal.SIGINT, signal_handler) signal.signal(signal.SIGINT, signal_handler)
signal.signal(signal.SIGTERM, signal_handler) signal.signal(signal.SIGTERM, signal_handler)
try:
signal.signal(signal.SIGKILL, signal_handler)
except OSError:
pass
sys.exit(main(sys.argv)) sys.exit(main(sys.argv))

View file

@ -1,8 +1,9 @@
import os import os
import re
import sys import sys
import getpass import getpass
from collections import OrderedDict from collections import OrderedDict
from pprint import pprint
from avalon import api, io, lib from avalon import api, io, lib
import avalon.nuke import avalon.nuke
import pype.api as pype import pype.api as pype
@ -949,7 +950,7 @@ class BuildWorkfile(WorkfileSettings):
**kwargs) **kwargs)
self.to_script = to_script self.to_script = to_script
# collect data for formating # collect data for formating
data = { self.data_tmp = {
"root": root_path or api.Session["AVALON_PROJECTS"], "root": root_path or api.Session["AVALON_PROJECTS"],
"project": {"name": self._project["name"], "project": {"name": self._project["name"],
"code": self._project["data"].get("code", '')}, "code": self._project["data"].get("code", '')},
@ -964,7 +965,7 @@ class BuildWorkfile(WorkfileSettings):
# get presets from anatomy # get presets from anatomy
anatomy = get_anatomy() anatomy = get_anatomy()
# format anatomy # format anatomy
anatomy_filled = anatomy.format(data) anatomy_filled = anatomy.format(self.data_tmp)
# get dir and file for workfile # get dir and file for workfile
self.work_dir = anatomy_filled["avalon"]["work"] self.work_dir = anatomy_filled["avalon"]["work"]
@ -1140,6 +1141,10 @@ class BuildWorkfile(WorkfileSettings):
representation (dict): avalon db entity representation (dict): avalon db entity
""" """
task = self.data_tmp["task"]
sanitized_task = re.sub('[^0-9a-zA-Z]+', '', task)
subset_name = "render{}Main".format(
sanitized_task.capitalize())
Create_name = "CreateWriteRender" Create_name = "CreateWriteRender"
@ -1151,7 +1156,7 @@ class BuildWorkfile(WorkfileSettings):
creator_plugin = Creator creator_plugin = Creator
# return api.create() # return api.create()
return creator_plugin("render_writeMain", self._asset).process() return creator_plugin(subset_name, self._asset).process()
def create_backdrop(self, label="", color=None, layer=0, def create_backdrop(self, label="", color=None, layer=0,
nodes=None): nodes=None):

View file

@ -565,6 +565,8 @@ class IntegrateAssetNew(pyblish.api.InstancePlugin):
source = instance.data['source'] source = instance.data['source']
except KeyError: except KeyError:
source = context.data["currentFile"] source = context.data["currentFile"]
source = source.replace(os.getenv("PYPE_STUDIO_PROJECTS_MOUNT"),
api.registered_root())
relative_path = os.path.relpath(source, api.registered_root()) relative_path = os.path.relpath(source, api.registered_root())
source = os.path.join("{root}", relative_path).replace("\\", "/") source = os.path.join("{root}", relative_path).replace("\\", "/")

View file

@ -276,6 +276,9 @@ class ProcessSubmittedJobOnFarm(pyblish.api.InstancePlugin):
except KeyError: except KeyError:
source = context.data["currentFile"] source = context.data["currentFile"]
source = source.replace(os.getenv("PYPE_STUDIO_PROJECTS_MOUNT"),
api.registered_root())
relative_path = os.path.relpath(source, api.registered_root()) relative_path = os.path.relpath(source, api.registered_root())
source = os.path.join("{root}", relative_path).replace("\\", "/") source = os.path.join("{root}", relative_path).replace("\\", "/")

View file

@ -77,6 +77,7 @@ class CollectWorkfile(pyblish.api.ContextPlugin):
"name": base_name, "name": base_name,
"publish": root.knob('publish').value(), "publish": root.knob('publish').value(),
"family": family, "family": family,
"families": [family],
"representations": list() "representations": list()
}) })