def shell(ipython):
"""Runs a Python shell with QPD context"""
import code
import readline
import rlcompleter
banner_msg = (
"Welcome to QPD interactive shell\n"
"\tAuto imported: app, db, models, views, admin"
)
_vars = globals()
_vars.update(locals())
_vars.update(dict(app=app, db=db, models=models, views=views, admin=admin))
readline.set_completer(rlcompleter.Completer(_vars).complete)
readline.parse_and_bind("tab: complete")
try:
if ipython is True:
from IPython import start_ipython
from traitlets.config import Config
c = Config()
c.TerminalInteractiveShell.banner2 = banner_msg
start_ipython(argv=[], user_ns=_vars, config=c)
else:
raise ImportError
except ImportError:
shell = code.InteractiveConsole(_vars)
shell.interact(banner=banner_msg)
评论列表
文章目录