def run_command(command, message, endpoint, redirect_url, redirect_on_error=None, args=None, kwargs=None, session=None): command = getattr(get_controller(), command) if redirect_on_error is None: redirect_on_error = redirect_url args = args or () kwargs = kwargs or {} kwargs['endpoint'] = endpoint try: logger.debug('Running %r' % command) res = yield gen.Task(command, *args, **kwargs) logger.debug('Result : %r' % res) if res['status'] != 'ok': message = "An error happened: %s" % res['reason'] except CallError as e: message = "An error happened: %s" % e redirect_url = redirect_on_error if message and session: session.messages.append(message) raise gen.Return(redirect_url)
def run_command(func, message, redirect_url, redirect_on_error=None, args=None, kwargs=None): func = getattr(get_client(), func) if redirect_on_error is None: redirect_on_error = redirect_url args = args or () kwargs = kwargs or {} try: logger.debug('Running %r' % func) res = func(*args, **kwargs) logger.debug('Result : %r' % res) if res['status'] != 'ok': message = "An error happened: %s" % res['reason'] except CallError, e: message = "An error happened: %s" % e redirect_url = redirect_on_error