I'm trying to query my inputs that are coming from a partition sop. I have a partition that has 5 files in it, but when I run @pdg_input in a python expression top it only returns the first input. This seems like a bug to me?
I've tried programmatically getting the inputs, but I can't figure out the syntax to make it work?
@pdg_input only returns first input
1468 6 0- ndasilva
- Member
- 60 posts
- Joined: July 2014
- Offline
- tpetrick
- Staff
- 596 posts
- Joined: May 2014
- Offline
@pdg_input is the same as @pdg_input.0, which is also the same as how it works for @attribs in SOPs.
You can use @pdg_input.2 to access the value at index=2, for example. Or, you can use the HScript function pdginput()[ which takes three arguments, one of which is the index: https://www.sidefx.com/docs/houdini/expressions/pdginput.html [www.sidefx.com]
You can use @pdg_input.2 to access the value at index=2, for example. Or, you can use the HScript function pdginput()[ which takes three arguments, one of which is the index: https://www.sidefx.com/docs/houdini/expressions/pdginput.html [www.sidefx.com]
Edited by tpetrick - Nov. 10, 2023 20:00:01
- ndasilva
- Member
- 60 posts
- Joined: July 2014
- Offline
- tpetrick
- Staff
- 596 posts
- Joined: May 2014
- Offline
In that case, pdginputvals(..) returns the list of all inputs as a space-separated string: https://www.sidefx.com/docs/houdini/expressions/pdginputvals.html [www.sidefx.com]
And, you can also use pdginputsize(..) to get the actual number of input files with a particular tag: https://www.sidefx.com/docs/houdini/expressions/pdginputsize.html [www.sidefx.com]
And, you can also use pdginputsize(..) to get the actual number of input files with a particular tag: https://www.sidefx.com/docs/houdini/expressions/pdginputsize.html [www.sidefx.com]
Edited by tpetrick - Nov. 14, 2023 12:51:09
- ndasilva
- Member
- 60 posts
- Joined: July 2014
- Offline
- tpetrick
- Staff
- 596 posts
- Joined: May 2014
- Offline
If you're using Python, you can use the Python API instead of HScript. There's an equivalent function in Python for all of the things available in HScript, for example: https://www.sidefx.com/docs/houdini/tops/pdg/WorkItem.html#inputFilesForTag [www.sidefx.com]
So for example from a Python parameter expression, you can use pdg.workItem().inputFilesForTag("file") to get a list of all input files, or pdg.workItem().inputFilesForTag("file/image") for all input image files.
If you're using a Python Script node, which already has the work item stored to a work_item local variable, you can use: work_item.inputFilesForTag("file").
So for example from a Python parameter expression, you can use pdg.workItem().inputFilesForTag("file") to get a list of all input files, or pdg.workItem().inputFilesForTag("file/image") for all input image files.
If you're using a Python Script node, which already has the work item stored to a work_item local variable, you can use: work_item.inputFilesForTag("file").
Edited by tpetrick - Nov. 14, 2023 13:36:18
- ndasilva
- Member
- 60 posts
- Joined: July 2014
- Offline
-
- Quick Links