return True except Exception: traceback.print_exc(file=sys.stderr, limit=0) return False def verify(self): return self.fn is not None def run(self, args, env): # initialize the namespace for the execution namespace = {} result = None try: os.environ = env namespace['param'] = args exec(self.fn, namespace) exec('fun = %s(param)' % self.mainFn, namespace) result = namespace['fun'] except Exception: traceback.print_exc(file=sys.stderr) if result and isinstance(result, dict): return (200, result) else: return (502, {'error': 'The action did not return a dictionary.'}) if __name__ == '__main__': setRunner(PythonRunner()) main()
try: self.fn = compile(message["code"], filename = 'action', mode = 'exec') except Exception: traceback.print_exc(file = sys.stderr, limit = 0) return self.verify() def verify(self): return self.fn is not None def run(self, args, env): # initialize the namespace for the execution namespace = {} result = None try: os.environ = env namespace['param'] = args exec(self.fn, namespace) exec("fun = %s(param)" % self.mainFn, namespace) result = namespace['fun'] except Exception: traceback.print_exc(file = sys.stderr) if result and isinstance(result, dict): return (200, result) else: return (502, { 'error': 'The action did not return a dictionary.'}) if __name__ == "__main__": setRunner(PythonRunner()) main()