From 37ee55d2b9034ff1373bff4e214d346111e01cef Mon Sep 17 00:00:00 2001 From: Fredrik Tolf Date: Wed, 23 Nov 2011 02:03:59 +0100 Subject: [PATCH] Added a simple REPL client. --- pdm-repl | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100755 pdm-repl diff --git a/pdm-repl b/pdm-repl new file mode 100755 index 0000000..daa8c18 --- /dev/null +++ b/pdm-repl @@ -0,0 +1,40 @@ +#!/usr/bin/python + +import sys, getopt, readline +import pdm.cli + +def usage(out): + out.write("usage: pdm-repl [-h] SOCKET\n") + +opts, args = getopt.getopt(sys.argv[1:], "h") +for o, a in opts: + if o == "-h": + usage(sys.stdout) + sys.exit(0) +if len(args) < 1: + usage(sys.stderr) + sys.exit(1) +cl = pdm.cli.replclient(args[0]) + +buf = "" +while True: + try: + if buf != "": + line = raw_input(" ") + else: + line = raw_input("% ") + except EOFError: + break + if line == "": + sys.stdout.write(cl.run(buf)) + buf = "" + else: + if buf == "": + try: + compile(line, "Nought", "eval") + except: + pass + else: + sys.stdout.write(cl.run(line)) + continue + buf += line + "\n" -- 2.11.0