#!/usr/bin/env python """demo for using the result of another macro""" import PyTango from sardana.macroserver.macro import * from sardana.macroserver.macro import macro import random class produceResult( Macro): """a macro that produces a result""" param_def = [] result_def = [[ "result", Type.Float, None, "random" ]] def run(self): result = random.random() return result class useResult(Macro): """a macro that calls another macro that returns a result.""" param_def = [] def run(self): # # m, pars = self.createMacro( "produceResult") # a = self.runMacro( m) # a = self.execMacro( "produceResult") self.output( "result " + str(a.getResult()))
The output can be:
p09/door/haso107d1.01 [1]: %useResult result 0.700273779598 p09/door/haso107d1.01 [2]: %useResult result 0.367393760443