Example #1
0
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)
Example #2
0
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'])