Repository : http://git.fedorahosted.org/cgit/cura-tools.git
On branch : master
commit 79213ca5202cee4950209ceb57b789abaae62907 Author: Peter Hatina phatina@redhat.com Date: Tue Jan 15 15:31:13 2013 +0100
introduce inspect feature, see python -i
cli-tools/lmishell | 24 ++++++++++++++++++------ 1 files changed, 18 insertions(+), 6 deletions(-)
diff --git a/cli-tools/lmishell b/cli-tools/lmishell index fb7aa0e..82fb4f0 100755 --- a/cli-tools/lmishell +++ b/cli-tools/lmishell @@ -52,11 +52,14 @@ class _LmiShellOptions(object): self._argv = argv self._script_name = "" self._script_argv = [] + self._inspect = False self._help = False for a in self._argv[1:]: - if not self._script_name and (a == "-h" or a == "--help"): + if not self._script_name and a in ("-h", "--help"): self._help = True return + elif not self._script_name and a in ("-i", "--inspect"): + self._inspect = True elif not self._script_name and not a.startswith("-"): self._script_name = a else: @@ -71,6 +74,10 @@ class _LmiShellOptions(object): return not self._script_name
@property + def inspect(self): + return self._inspect + + @property def script_name(self): return self._script_name
@@ -79,8 +86,10 @@ class _LmiShellOptions(object): return [self._script_name] + self._script_argv
def print_usage(self): - sys.stdout.write("Usage: %s [script] [script-options]\n" % os.path.basename(self._argv[0])) - sys.stdout.write("\nOptions:\n -h, --help print this message\n") + sys.stdout.write("Usage: %s [options] [script] [script-options]\n" % os.path.basename(self._argv[0])) + sys.stdout.write("\nOptions:\n") + sys.stdout.write(" -h, --help print this message\n") + sys.stdout.write(" -i, --interact inspect interactively after running a script\n")
class _LmiCompleter(rlcompleter.Completer): def __init__(self, namespace = None): @@ -204,8 +213,8 @@ class LmiInteractiveShell(code.InteractiveConsole): def clear_history(self): readline.clear_history()
-def _lmi_interact(prompt = "> ", more_prompt = "... "): - console = LmiInteractiveShell(prompt, more_prompt) +def _lmi_interact(locals = None): + console = LmiInteractiveShell("> ", "... ", locals) console.interact()
def _connect_interactive(hostname, username = "", password = ""): @@ -263,5 +272,8 @@ if __name__ == "__main__": try: execfile(options.script_name, locals) except SystemExit, e: - sys.exit(e.code) + if not options.inspect: + sys.exit(e.code) + if options.inspect: + _lmi_interact(locals) sys.exit(0)
cura-tools-devel@lists.fedorahosted.org