Improve Houdini saved filename collection, ignore default "untitled.hip"

This commit is contained in:
Roy Nieterau 2019-01-15 09:27:26 +01:00
parent 9b832b486e
commit 9d8133ef82

View file

@ -1,3 +1,4 @@
import os
import hou
import pyblish.api
@ -12,4 +13,24 @@ class CollectHoudiniCurrentFile(pyblish.api.ContextPlugin):
def process(self, context):
"""Inject the current working file"""
context.data['currentFile'] = hou.hipFile.path()
filepath = hou.hipFile.path()
if not os.path.exists(filepath):
# By default Houdini will even point a new scene to a path.
# However if the file is not saved at all and does not exist,
# we assume the user never set it.
filepath = ""
elif os.path.basename(filepath) == "untitled.hip":
# Due to even a new file being called 'untitled.hip' we are unable
# to confirm the current scene was ever saved because the file
# could have existed already. We will allow it if the file exists,
# but show a warning for this edge case to clarify the potential
# false positive.
self.log.warning("Current file is 'untitled.hip' and we are "
"unable to detect whether the current scene is "
"saved correctly.")
context.data['currentFile'] = filepath