def run(self):
try:
subcommand = self.argv[1]
except IndexError:
subcommand = 'help'
if subcommand == 'runserver':
try:
host, port = self.argv[2].split(':')
port = int(port)
if not port:
port = 8080
except (IndexError, ValueError):
print('WARNING! Incorrect host:port - using default settings.')
host = '0.0.0.0'
port = 8080
web.run_app(self.app, host=host, port=port, loop=self.app.loop)
elif subcommand == 'routes':
from djaio.ext.routes import print_routes
print_routes(self.app)
elif subcommand == 'help':
print('=' * 60)
print('Usage: {} <command> <options>'.format(self.argv[0].rsplit('/', 1)[-1]))
print('Available commands:')
print(' * help - shows this message')
print(' * runserver host:port - runs web server')
for key, comm_obj in self.app.commands.items():
print(' * {} <options> - {}'.format(key, comm_obj.get('description')))
print('=' * 60)
elif subcommand == 'shell':
import IPython
IPython.start_ipython(argv=[])
elif subcommand in self.app.commands:
_args = self.argv[2:]
_coro = self.app.commands[subcommand].get('func')
self.app.loop.run_until_complete(_coro(self.app, *_args))
python类start_ipython()的实例源码
def _start_shell(local_ns=None):
# An interactive shell is useful for debugging/development.
import IPython
user_ns = {}
if local_ns:
user_ns.update(local_ns)
user_ns.update(globals())
IPython.start_ipython(argv=[], user_ns=user_ns)
def command(self):
user_ns = {
'context': self.context,
}
try:
import IPython
IPython.start_ipython(argv=[], user_ns=user_ns)
except ImportError:
import code
code.interact(local=user_ns)
def _start_shell(local_ns=None):
# An interactive shell is useful for debugging/development.
import IPython
user_ns = {}
if local_ns:
user_ns.update(local_ns)
user_ns.update(globals())
IPython.start_ipython(argv=[], user_ns=user_ns)
def _start_shell(local_ns=None):
# An interactive shell is useful for debugging/development.
import IPython
user_ns = {}
if local_ns:
user_ns.update(local_ns)
user_ns.update(globals())
IPython.start_ipython(argv=[], user_ns=user_ns)
def _start_shell(local_ns=None):
# An interactive shell is useful for debugging/development.
import IPython
user_ns = {}
if local_ns:
user_ns.update(local_ns)
user_ns.update(globals())
IPython.start_ipython(argv=[], user_ns=user_ns)
def _start_shell(local_ns=None):
# An interactive shell is useful for debugging/development.
import IPython
user_ns = {}
if local_ns:
user_ns.update(local_ns)
user_ns.update(globals())
IPython.start_ipython(argv=[], user_ns=user_ns)
def _start_shell(local_ns=None):
# An interactive shell is useful for debugging/development.
import IPython
user_ns = {}
if local_ns:
user_ns.update(local_ns)
user_ns.update(globals())
IPython.start_ipython(argv=[], user_ns=user_ns)
def _start_shell(local_ns=None):
# An interactive shell is useful for debugging/development.
import IPython
user_ns = {}
if local_ns:
user_ns.update(local_ns)
user_ns.update(globals())
IPython.start_ipython(argv=[], user_ns=user_ns)
def _start_shell(local_ns=None):
# An interactive shell is useful for debugging/development.
import IPython
user_ns = {}
if local_ns:
user_ns.update(local_ns)
user_ns.update(globals())
IPython.start_ipython(argv=[], user_ns=user_ns)
def _start_shell(local_ns=None):
# An interactive shell is useful for debugging/development.
import IPython
user_ns = {}
if local_ns:
user_ns.update(local_ns)
user_ns.update(globals())
IPython.start_ipython(argv=[], user_ns=user_ns)
def _run(self): # pylint: disable=method-hidden
self.interrupt.wait()
print('\n' * 2)
print('Entering Console' + OKGREEN)
print('Tip:' + OKBLUE)
print_usage()
# Remove handlers that log to stderr
root = getLogger()
for handler in root.handlers[:]:
if isinstance(handler, StreamHandler) and handler.stream == sys.stderr:
root.removeHandler(handler)
stream = StringIO.StringIO()
handler = StreamHandler(stream=stream)
handler.formatter = Formatter(u'%(levelname)s:%(name)s %(message)s')
root.addHandler(handler)
def lastlog(n=10, prefix=None, level=None):
""" Print the last `n` log lines to stdout.
Use `prefix='p2p'` to filter for a specific logger.
Use `level=INFO` to filter for a specific level.
Level- and prefix-filtering are applied before tailing the log.
"""
lines = (stream.getvalue().strip().split('\n') or [])
if prefix:
lines = [
line
for line in lines
if line.split(':')[1].startswith(prefix)
]
if level:
lines = [
line
for line in lines
if line.split(':')[0] == level
]
for line in lines[-n:]:
print(line)
self.console_locals['lastlog'] = lastlog
err = StringIO.StringIO()
sys.stderr = err
def lasterr(n=1):
""" Print the last `n` entries of stderr to stdout. """
for line in (err.getvalue().strip().split('\n') or [])[-n:]:
print(line)
self.console_locals['lasterr'] = lasterr
IPython.start_ipython(argv=['--gui', 'gevent'], user_ns=self.console_locals)
self.interrupt.clear()
sys.exit(0)