ynput / ayon-houdini

Houdini addon for AYON
Apache License 2.0
9 stars 7 forks source link

Update USD outputprocessor API to support 20.5+ #53

Closed BigRoy closed 1 month ago

BigRoy commented 2 months ago

Is there an existing issue for this?

Current Behavior:

It seems that Houdini decided to change the USD output processors' API between houdini 20.0.724 and houdini 20.5.278 where beginSave() method takes a different signature and amount of arguments, resulting in:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: AYONRemapPaths.beginSave() takes 5 positional arguments but 6 were given

According to the docs here it seemed to start taking a new argument stage_variables as last argument.

Changing this:

    def beginSave(self, config_node, config_overrides, lop_node, t):

To this:

    def beginSave(self, config_node, config_overrides, lop_node, t, stage_variables):

Expected Behavior:

We will need to look into the easiest way to have the method allow it to be called both ways.

Version

1.0.0

What platform you are running on?

Windows

Steps To Reproduce:

  1. Run Houdini 20.5+
  2. Publish a USD file with USD contributions enabled.
  3. Error appears

Are there any labels you wish to add?

Relevant log output:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: AYONRemapPaths.beginSave() takes 5 positional arguments but 6 were given

Additional context:

No response

BigRoy commented 2 months ago

For context - these are the notable changelogs: image

Search beginSave on SideFX changelog