import sys, getopt, Tkinter, os
UNSPECIFIED, OPEN, RELOAD, PING, CLEAR, MDI, QUIT = range(7)
mode = UNSPECIFIED
def usage(exitval=0):
print __doc__
raise SystemExit, exitval
try:
opts, args = getopt.getopt(sys.argv[1:], "h?prqcm",
['help','ping', 'reload', 'quit', 'clear', 'mdi'])
except getopt.GetoptError, detail:
print detail
usage(99)
for o, a in opts:
if o in ('-h', '-?', '--help'):
usage(0)
elif o in ('-c', '--clear'):
if mode != UNSPECIFIED:
usage(99)
mode = CLEAR
elif o in ('-p', '--ping'):
if mode != UNSPECIFIED:
usage(99)
mode = PING
elif o in ('-r', '--reload'):
if mode != UNSPECIFIED:
usage(99)
mode = RELOAD
elif o in ('-q', '--quit'):
if mode != UNSPECIFIED:
usage(99)
mode = QUIT
elif o in ('-m', '--mdi'):
if mode != UNSPECIFIED:
usage(99)
mode = MDI
if mode == UNSPECIFIED:
mode = OPEN
if mode == OPEN:
if len(args) != 1:
usage(99)
elif mode == MDI:
if len(args) != 1:
usage(99)
else:
if len(args) != 0:
usage(99)
t = Tkinter.Tk(); t.wm_withdraw()
msg = ""
try:
if mode == PING:
try:
t.tk.call("send", "axis", "expr", "1")
except Tkinter.TclError, detail:
raise SystemExit, 1
elif mode == OPEN:
msg = t.tk.call("send", "axis", ("remote","open_file_name", os.path.abspath(args[0])))
elif mode == MDI:
msg = t.tk.call("send", "axis", ("remote","send_mdi_command", args[0]))
elif mode == RELOAD:
msg = t.tk.call("send", "axis", ("remote","reload_file"))
elif mode == CLEAR:
msg = t.tk.call("send", "axis", ("remote","clear_live_plot"))
elif mode == QUIT:
msg = t.tk.call("send", "axis", ("remote","destroy"))
except Tkinter.TclError,detail:
raise SystemExit,detail
if msg:
raise SystemExit,msg