-
Notifications
You must be signed in to change notification settings - Fork 4
/
Copy pathgui.py
executable file
·126 lines (106 loc) · 4.31 KB
/
gui.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
#!/usr/bin/python
# -*- coding: utf-8 -*-
try:
import Tkinter
except ImportError:
import tkinter as Tkinter
from protocol import Proxy
PORT = 8483 # Controller port
PASSWORD = '0123456789'
class simpleapp_tk(Tkinter.Tk):
def __init__(self,parent):
Tkinter.Tk.__init__(self,parent)
self.parent = parent
self.proxy = None
self.addressVariable = Tkinter.StringVar()
self.passwordVariable = Tkinter.StringVar()
self.serialVariable = Tkinter.StringVar()
self.serialVariable.set('123')
self.initialize()
#self.get_proxy()
def get_proxy(self, event=None):
try:
pw = self.passwordVariable.get()
address = self.addressVariable.get()
serial = str(int(self.serialVariable.get()))
if address in ('<discover>', ''):
self.proxy = Proxy.discover(pw, PORT, serial)
self.addressVariable.set(self.proxy.addr[0])
else:
self.proxy = Proxy(pw, PORT, address, serial)
print self.proxy, 'asdf'
self.serialVariable.set(self.proxy.serial)
except Exception as e:
print e
self.serialVariable.set('-')
def initialize(self):
self.grid()
self.address = Tkinter.Entry(self,textvariable=self.addressVariable)
label = Tkinter.Label(self, text='address:')
label.grid(row = 0, sticky = 'E')
self.address.grid(row = 0, column = 1, sticky = 'EW')
self.address.bind("<Return>", self.get_proxy)
self.addressVariable.set(u"<discover>")
self.password = Tkinter.Entry(self,textvariable=self.passwordVariable)
label = Tkinter.Label(self, text='password:')
label.grid(row = 0, column = 2, sticky = 'E')
self.password.grid(row = 0, column = 3, sticky = 'EW')
self.passwordVariable.set(u"123456789")
self.password = Tkinter.Entry(self,textvariable=self.serialVariable)
label = Tkinter.Label(self, text='serial:')
label.grid(row = 0, column = 3, sticky = 'E')
self.password.grid(row = 0, column = 4, sticky = 'EW')
self.serialVariable.set(u"000")
self.entryVariable = Tkinter.StringVar()
self.entry = Tkinter.Entry(self,textvariable=self.entryVariable)
self.entry.grid(column=0,row=1,sticky='ENSW', columnspan=3)
self.entry.bind("<Return>", self.OnPressEnter)
self.entryVariable.set(u"get")
button = Tkinter.Button(self, text=u"Run command", command=self.OnButtonClick)
button.grid(column=3, row=1, sticky = 'W')
button = Tkinter.Button(self, text=u"Connect", command=self.OnConnect)
button.grid(column=4, row=1, sticky = 'W')
self.text = Tkinter.Text(self)
self.text.grid(column=0, row=2, columnspan=8, sticky='EWNS')
self.grid_columnconfigure(0, weight=1)
self.grid_columnconfigure(1, weight=5)
self.grid_columnconfigure(2, weight=1)
self.grid_columnconfigure(3, weight=5)
self.grid_rowconfigure(2, weight=1)
self.resizable(True,True)
self.update()
self.geometry(self.geometry())
self.entry.focus_set()
self.entry.selection_range(0, Tkinter.END)
def OnButtonClick(self):
self.OnPressEnter(None)
def OnConnect(self):
#self.addressVariable.set(u"<discover>")
self.get_proxy()
def OnPressEnter(self,event):
d = self.entryVariable.get().split(' ')
if d[0] == 'get':
if len(d) > 1:
path = d[1]
else:
path = '*'
self.text.insert(Tkinter.END, '\n'.join(self.proxy.get(path))+'\n\n')
elif d[0] == 'set':
if len(d) > 1:
path = d[1]
if len(d) > 2:
value = d[2]
else:
value = None
else:
path = '*'
value = None
self.proxy.password = self.passwordVariable.get()
self.text.insert(Tkinter.END, '\n'.join(self.proxy.set(path, value))+'\n\n')
self.text.see(Tkinter.END)
self.entry.focus_set()
self.entry.selection_range(0, Tkinter.END)
if __name__ == "__main__":
app = simpleapp_tk(None)
app.title('NBE UDP protocol test gui')
app.mainloop()