Houdini Alembic Rop Expression in Filename

I’m trying to decide the best course of action. In line 868-869 of SubmitHoudiniToDeadlineFunctions.py there exists this if statement:

if output and output != "COMMAND":
                            fileHandle.write( "Output=%s\n" % output.unexpandedString() )

The problem with this switch is that the Alembic ROP I am trying to process has an expression in the file name and not a path. This wouldn’t be an issue if the person who wrote this had used eval() instead of unexpandedString() but I’m hesitant to change until I understand the reason behind the use of unexpandedString() here.

Can anyone shed light on this issue for me?

thanks so much!

cheers,
Brendan

We have changed this to an expanded string, because it is not very useful as an expression. Just make sure to preserve a $F4 when expanding the string, otherwise it gets baked to a single frame, which seems to affect rendering.

You can see how this is used in Houdini/Houdini.py around line 115. Basically there is some replacing of slashes, and in the end the value is passed as -o to the render script hrender_dl.py. In the render script the output path is set on the ROP to be rendered. So keep in mind all consequences of this.