def get_user_exit(self, request, context): if self.module: user_exit = getattr(self.module, USER_EXIT_ENTRY_POINT, None) if not user_exit: raise TransformError( code=400, title= "Error in transform get_user_exit, user exit module={0}, should have an 'exits' function" .format(str(self.module))) return user_exit(request, context)
def transform(stub, request, **kwargs): function = kwargs['function'] stage = kwargs.get('stage') url_args = kwargs['url_args'] trace = kwargs['trace'] hooks = kwargs.pop('hooks') module_system_date = kwargs.get('module_system_date') try: transformer = hooks.make_transformer(stub) if module_system_date and isinstance(module_system_date, basestring): module_system_date = as_date(module_system_date) system_date = kwargs.get('system_date') if isinstance(system_date, basestring): system_date = as_date('system_date') unsafevars = ('request', 'function', 'cache', 'stage', 'module_system_date', 'system_date', 'trace') url_args.update(x for x in stub.args().iteritems() if x[0] not in ('session', )) for var in unsafevars: url_args.pop(var, None) return transformer.transform(request, module_system_date=module_system_date, system_date=system_date, function=function, cache=kwargs['cache'], stage=stage, trace=trace, **url_args) except Exception, e: _, t, v, tbinfo = compact_traceback() msg = u'error={0}, traceback is: ({1}: {2} {3})'.format( e, t, v, tbinfo) log.error(msg) raise TransformError(code=400, title='Error transforming during ' '{0} stage:{1}'.format(function, stage), traceback=msg)