Parameter expressions#
Overview#
Almost any parameter on Lifeblood’s nodes can have a simple value that will be just always constant, or an expression.
A parameter expression is a piece of code that will be evaluated any time a task being processed tries to get node’s parameter value.
Currently only Python expressions are supported.
A Python Expression#
A python parameter expression can be any python expression. Returned value will be casted to appropriate parameter value type if possible. If not possible - an exception will be thrown and task evaluating that expression will be marked as Errored.
the following modules are imported into the context of expression evaluation:
ospathlibcontents of
math(as iffrom math import *was performed)
The following names are defined in the context of evaluation:
task- the task being processednode- the node that owns this parameterconfig- this node’s configuration at scheduler’s side
task#
represents task being processed, the following methods available:
__getitem__- retrieve any task’s attribute- you can access task attributes with simple syntax:
task['attr_name']for example,task['file']task['frames'][0] get(attr_name, default=None)- same, but with optional default onattr_namebeing not found- together with previous method they provide access interface similar to that of a dict
task.get('preferred_filename', 'untitled.mov') idtask internal id
task.parent_idparent task id if this task has a parent, otherwise None
task.namename of this task (if task was created internally - name may ne None)
node#
__getitem__- retrieve any node’s parameter value- you can access other node’s parameters with simple syntax:
node['param_name']for example,node['hip path']task['driver path'] namename of the node
labellabel of the node type, label is used in tab node creation menu
config#
__getitem__/get- retrieve any task’s attribute- get value from this node type’s config on scheduler side.scheduler has a special config file for nodes’ custom values