summaryrefslogtreecommitdiffstats
path: root/Demo/tkinter/guido/wish.py
diff options
context:
space:
mode:
Diffstat (limited to 'Demo/tkinter/guido/wish.py')
-rw-r--r--Demo/tkinter/guido/wish.py27
1 files changed, 27 insertions, 0 deletions
diff --git a/Demo/tkinter/guido/wish.py b/Demo/tkinter/guido/wish.py
new file mode 100644
index 0000000..0a61ad8
--- /dev/null
+++ b/Demo/tkinter/guido/wish.py
@@ -0,0 +1,27 @@
+# This is about all it requires to write a wish shell in Python!
+
+import _tkinter
+import os
+
+tk = _tkinter.create(os.environ['DISPLAY'], 'wish', 'Tk', 1)
+tk.call('update')
+
+cmd = ''
+
+while 1:
+ if cmd: prompt = ''
+ else: prompt = '% '
+ try:
+ line = raw_input(prompt)
+ except EOFError:
+ break
+ cmd = cmd + (line + '\n')
+ if tk.getboolean(tk.call('info', 'complete', cmd)):
+ tk.record(line)
+ try:
+ result = tk.call('eval', cmd)
+ except _tkinter.TclError, msg:
+ print 'TclError:', msg
+ else:
+ if result: print result
+ cmd = ''