import sys import cStringIO import gluon.contrib.shell import code, thread from gluon.debug import communicate if DEMO_MODE or MULTI_USER_MODE: session.flash = T('disabled in demo mode') redirect(URL('default','site')) FE=10**9 def index(): app = request.args(0) or 'admin' reset() # read buffer data = communicate() return dict(app=app,data=data) def callback(): app = request.args[0] command = request.vars.statement session['debug_commands:'+app].append(command) output = communicate(command) k = len(session['debug_commands:'+app]) - 1 return '[%i] %s%s\n' % (k + 1, command, output) def reset(): app = request.args(0) or 'admin' session['debug_commands:'+app] = [] return 'done'