From 4d9b426ccfe4b6a3c875e75399011d7cf25aa379 Mon Sep 17 00:00:00 2001 From: Sebastian Spaeth Date: Tue, 18 Dec 2012 16:54:07 +0100 Subject: [PATCH] Try ipython-based shell first, falling back to plain shell Signed-off-by: Sebastian Spaeth --- mediagoblin/gmg_commands/shell.py | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/mediagoblin/gmg_commands/shell.py b/mediagoblin/gmg_commands/shell.py index ec1ab535..4998acd7 100644 --- a/mediagoblin/gmg_commands/shell.py +++ b/mediagoblin/gmg_commands/shell.py @@ -47,24 +47,21 @@ def py_shell(**user_namespace): def ipython_shell(**user_namespace): """ - Run a shell for the user using ipython. + Run a shell for the user using ipython. Return False if there is no IPython """ try: from IPython import embed except: - print "IPython not available... exiting!" - return - + return False + embed( banner1=SHELL_BANNER, user_ns=user_namespace) - + return True def shell(args): """ - Setup a shell for the user - either a normal Python shell - or an IPython one + Setup a shell for the user either a normal Python shell or an IPython one """ user_namespace = { 'mg_globals': mg_globals, @@ -74,4 +71,6 @@ def shell(args): if args.ipython: ipython_shell(**user_namespace) else: - py_shell(**user_namespace) + # Try ipython_shell first and fall back if not available + if not ipython_shell(**user_namespace): + py_shell(**user_namespace) -- 2.25.1