Example #1
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'])
Example #2
0
class Tab1(Tab):
    def __init__(self, master):
        Tab.__init__(self, master, u"報到".encode('utf-8'))
        self.web = Web()
        self.db = DBController("/home/pi/pyconapac-rpi/db/pycon2015.db.nofacebook")
        self.reg_no = StringVar()
        self.nickname = StringVar()
        self.uid = StringVar()
        self.tshirt_wtime = StringVar()

        self.tab1_lbl_reg_no = Label(self, bg="red", fg="white", font=('Arial', 16), textvariable=sv_reg_no).pack(fill=X)
        self.tab1_lbl_nickname = Label(self, bg="green", fg="black", font=('Arial', 22), textvariable=sv_nickname).pack(fill=X)
        self.tab1_lbl_uid = Label(self, bg="blue", fg="white", font=('Arial', 20), textvariable=sv_uid).pack(fill=X)
        self.tab1_lbl_status = Label(self, bg="yellow", fg="black", font=('Arial', 22), textvariable=sv_regist_status).pack(side=LEFT, fill=BOTH, expand=YES)

    def load_profile(self, uid):
        print type(self).__name__ + "/" + inspect.stack()[0][3]
        try:
            result = self.web.infoQuery(uid)
            status = result['result']['regist_wtime'] if result['result']['regist_wtime'] != '0' else 'First Check-in'
            reg_no = result['result']['reg_no']
            nickname = result['result']['nickname']
            user_info = self.db.getInfoByReg(reg_no)
            sv_reg_no.set(reg_no + "/" + user_info.ticket_type.split(' ')[-1])
            sv_nickname.set(nickname)
            sv_uid.set(uid)

            sv_regist_status.set(status)
            result = self.web.registerUpdate(reg_no, uid)

            # user_info = self.web.infoQuery(uid)
            # sv_reg_no.set(str(user_info['result']['reg_no']))
            # sv_nickname.set(str(user_info['result']['nickname']))
            # sv_uid.set(str(user_info['result']['uid']))
            # result = self.web.registerUpdate(user_info['result']['reg_no'], uid)
            print result

            # if user_info.regist_wtime == None:
            #     self.db.checkIn(uid)

        except ValueError:
            sv_reg_no.set(VALUE_ERROR)
            sv_nickname.set(VALUE_ERROR)
            sv_uid.set(uid)
Example #3
0
def main(uid):
    web = Web()
    r = web.infoQuery(uid)