

def execute(self, context, inputs):
    plugDict = {
        
    }
    for (plugPath, plug) in zip(self.__inPlugPaths, inputs):
        parentDict = plugDict
        plugPathSplit = plugPath.split('.')
        for p in plugPathSplit[:(- 1)]:
            parentDict = parentDict.setdefault(p, {
                
            })
        parentDict[plugPathSplit[(- 1)]] = plug.getValue()
    for plugPath in self.__outPlugPaths:
        parentDict = plugDict
        for p in plugPath.split('.')[:(- 1)]:
            parentDict = parentDict.setdefault(p, {
                
            })
    executionDict = {
        'IECore': IECore,
        'parent': plugDict,
        'context': context,
    }
    exec(self.__expression, executionDict, executionDict)
    result = IECore.ObjectVector()
    for plugPath in self.__outPlugPaths:
        parentDict = plugDict
        plugPathSplit = plugPath.split('.')
        for p in plugPathSplit[:(- 1)]:
            parentDict = parentDict[p]
        context.append(parentDict.get(plugPathSplit[(- 1)], IECore.NullObject.defaultNullObject()))
    return result

dataset/ETHPy150Open ImageEngine/gaffer/python/Gaffer/PythonExpressionEngine.py PythonExpressionEngine.execute/VarMisuse@231/299 `result`->`context`