class Tab2(Tab): def __init__(self, master): Tab.__init__(self, master, u"T恤".encode('utf-8')) self.web = Web() self.reg_no = StringVar() self.nickname = StringVar() self.tshirt = StringVar() self.tshirt_wtime = StringVar() self.pair_status = StringVar() self.tab2_fm1 = Frame(self) Label(self.tab2_fm1, bg="red", fg="white", width=16, font=('Arial', 16), textvariable=sv_reg_no).pack(side=TOP, fill=BOTH, expand=YES) Label(self.tab2_fm1, bg="green", fg="black", width=16, font=('Arial', 22), textvariable=sv_tshirt).pack(side=TOP, fill=BOTH, expand=YES) Label(self.tab2_fm1, bg="blue", fg="white", width=16, font=('Arial', 20), textvariable=sv_tshirt_wtime).pack(side=TOP, fill=BOTH, expand=YES) Label(self.tab2_fm1, bg="yellow", fg="black", width=16, font=('Arial', 22), textvariable=sv_tshirt_status).pack(side=LEFT, fill=BOTH, expand=YES) self.tab2_fm1.pack(side=LEFT, padx=10) self.tab2_fm2 = Frame(self) self.tab2_btn1 = Button(self.tab2_fm2, text='OK', font=('Arial', 16)) self.tab2_btn1.pack(side=LEFT, anchor=W) self.tab2_btn1.bind('<Button-1>', self.get_tshirt) self.tab2_fm2.pack(side=LEFT, fill=BOTH, expand=YES) def get_tshirt(self, button): print type(self).__name__ + "/" + inspect.stack()[0][3] try: print uid result = self.web.tshirtUpdate(uid) sv_tshirt_wtime.set(result["result"]["tshirt_wtime"]) sv_tshirt_status.set(result["status"]) print result self.clear_profile() except NameError: sv_reg_no.set(NO_UID_ERROR) sv_tshirt.set(NO_UID_ERROR) sv_tshirt_wtime.set(NO_UID_ERROR) def load_profile(self, uid): print type(self).__name__ + "/" + inspect.stack()[0][3] user_info = self.web.tshirtQuery(uid) print user_info try: self.clear_get() sv_reg_no.set(str(user_info["result"]["reg_no"]) + "/" + user_info["result"]["nickname"]) sv_tshirt.set(user_info["result"]["tshirt"]) sv_tshirt_wtime.set(user_info["result"]["tshirt_wtime"]) if user_info["result"]["tshirt_wtime"] != str(0): sv_tshirt_status.set("No T-shirt for you") except TypeError, ValueError: sv_reg_no.set(NETWORK_ERROR) sv_tshirt.set(NETWORK_ERROR) sv_tshirt_wtime.set(NETWORK_ERROR)
class TestDBAccess(unittest.TestCase): def setUp(self): self.web = Web() self.UID = '09 4d 06 02' def test_register(self): req = self.web.infoQuery(self.UID) self.assertEqual("60", req['result']['reg_no']) self.assertEqual("Bruce Tsai", req['result']['nickname']) req = self.web.registerUpdate(req['result']['reg_no'], self.UID) self.assertEqual("ok", req['status']) def test_query(self): req = self.web.infoQuery(self.UID) self.assertEqual("60", req['result']['reg_no']) self.assertEqual("Bruce Tsai", req['result']['nickname']) def test_tshirt_query(self): req = self.web.tshirtQuery(self.UID) self.assertEqual("M /160~170cm", req['result']['tshirt']) def test_tshirt_update(self): req = self.web.tshirtUpdate(self.UID) self.assertEqual("ok", req['status'])