mirror of
https://github.com/ynput/ayon-core.git
synced 2026-01-02 00:44:52 +01:00
fix typo and tool creation
This commit is contained in:
parent
c9f60bb848
commit
9c7bcb84aa
1 changed files with 21 additions and 12 deletions
|
|
@ -10,7 +10,7 @@ log = logging.getLogger("openpype.hosts.houdini")
|
|||
|
||||
|
||||
def generate_shelves():
|
||||
"""This function generates complete shelves from shef set to tools
|
||||
"""This function generates complete shelves from shelf set to tools
|
||||
in Houdini from openpype project settings houdini shelf definition.
|
||||
|
||||
Raises:
|
||||
|
|
@ -23,8 +23,8 @@ def generate_shelves():
|
|||
shelves_set_config = project_settings["houdini"]["shelves"]
|
||||
|
||||
if not shelves_set_config:
|
||||
log.warning(
|
||||
"SHELF WARNGING: No custom shelves found in project settings."
|
||||
log.info(
|
||||
"SHELF INFO: No custom shelves found in project settings."
|
||||
)
|
||||
return
|
||||
|
||||
|
|
@ -45,7 +45,7 @@ def generate_shelves():
|
|||
shelf_set_name = shelf_set_config.get('shelf_set_name')
|
||||
if not shelf_set_name:
|
||||
log.warning(
|
||||
"SHELF WARNGING: No name found in shelf set definition."
|
||||
"SHELF WARNING: No name found in shelf set definition."
|
||||
)
|
||||
return
|
||||
|
||||
|
|
@ -54,8 +54,8 @@ def generate_shelves():
|
|||
shelves_definition = shelf_set_config.get('shelf_definition')
|
||||
|
||||
if not shelves_definition:
|
||||
log.warning(
|
||||
"SHELF WARNING: \
|
||||
log.info(
|
||||
"SHELF INFO: \
|
||||
No shelf definition found for shelf set named '{}'".format(shelf_set_name)
|
||||
)
|
||||
return
|
||||
|
|
@ -64,26 +64,34 @@ No shelf definition found for shelf set named '{}'".format(shelf_set_name)
|
|||
shelf_name = shelf_definition.get('shelf_name')
|
||||
if not shelf_name:
|
||||
log.warning(
|
||||
"SHELF WARNGING: No name found in shelf definition."
|
||||
"SHELF WARNING: No name found in shelf definition."
|
||||
)
|
||||
return
|
||||
|
||||
shelf = get_or_create_shelf(shelf_name)
|
||||
|
||||
if not shelf_definition.get('tools_list'):
|
||||
log.warning("TOOLS INFO: No tool definition found for \
|
||||
shelf named {}".format(shelf_name))
|
||||
return
|
||||
|
||||
mandatory_attributes = ['name', 'script']
|
||||
for tool_definition in shelf_definition.get('tools_list'):
|
||||
# We verify that the name and script attibutes of the tool
|
||||
# are set
|
||||
mandatory_attributes = ['name', 'script']
|
||||
if not all(
|
||||
[v for k, v in tool_definition.items() if
|
||||
k in mandatory_attributes]
|
||||
):
|
||||
log.warning("TOOLS ERROR: You need to specify at least \
|
||||
the name and the script path of the tool.")
|
||||
return
|
||||
continue
|
||||
|
||||
tool = get_or_create_tool(tool_definition, shelf)
|
||||
|
||||
if not tool:
|
||||
return
|
||||
|
||||
# Add the tool to the shelf if not already in it
|
||||
if tool not in shelf.tools():
|
||||
shelf.setTools(list(shelf.tools()) + [tool])
|
||||
|
|
@ -105,12 +113,12 @@ def get_or_create_shelf_set(shelf_set_label):
|
|||
"""
|
||||
all_shelves_sets = hou.shelves.shelfSets().values()
|
||||
|
||||
shelf_set = [
|
||||
shelf_sets = [
|
||||
shelf for shelf in all_shelves_sets if shelf.label() == shelf_set_label
|
||||
]
|
||||
|
||||
if shelf_set:
|
||||
return shelf_set[0]
|
||||
if shelf_sets:
|
||||
return shelf_sets[0]
|
||||
|
||||
shelf_set_name = shelf_set_label.replace(' ', '_').lower()
|
||||
new_shelf_set = hou.shelves.newShelfSet(
|
||||
|
|
@ -170,6 +178,7 @@ def get_or_create_tool(tool_definition, shelf):
|
|||
return existing_tool[0]
|
||||
|
||||
tool_name = tool_label.replace(' ', '_').lower()
|
||||
log.warning(tool_definition)
|
||||
|
||||
if not os.path.exists(tool_definition['script']):
|
||||
log.warning(
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue