Ejemplo n.º 1
0
def sum_history(wechat_id):
    subprocess.call("clear")
    while True:
        obj = ManCheckin(wechat_id)
        if obj.tea_id == 0:
            print PrtInfo.failedMessage(4)
            prompt = raw_input('maybe try again?(y/n)')
            if prompt == 'n':
                break
        else:
            BaseCheckin.update_sum(obj)
            sum_records = SumFile.read_file(
                BaseCheckin.init_sum_name(obj.tea_id, obj.crs_id))
            r = range(1, obj.init_seq_id(obj.tea_id, obj.crs_id))
            r.append('exit')
            q = Form(['seq id'], ['once', 'all', 'back'])
            ch = q.init_form()

            if ch == len(q.items) or ch == -1:
                break
            elif ch == 1:
                c = Form(['seq id'], r)
                seq_id = c.init_form()
                if seq_id == len(r) or seq_id == -1:
                    break
                sum_format(sum_records, seq_id=seq_id)
                break
            sum_format(sum_records)
            break
Ejemplo n.º 2
0
def attendence(wechat_id):
    subprocess.call("clear")
    while True:
        obj = ManCheckin(wechat_id)
        if obj.tea_id == 0:
            print PrtInfo.failedMessage(4)
            prompt = raw_input('maybe try again?(y/n)')
            if prompt == 'n':
                break
        else:
            c = BaseCheckin.find_checkin_obj_for_tea(wechat_id)
            if c != None:
                detail_records = BaseFile.read_file(
                    c.init_detail_name(str(c.tea_id), str(c.crs_id),
                                       str(c.seq_id)))
                detail_records = BaseCheckin.filter_invalid_detail_records(
                    detail_records)
                temp = []
                for i in detail_records:
                    if i['IsSuc'] == 'True':
                        temp.append(i)
                print detail_format(temp)
                break
            else:
                break
Ejemplo n.º 3
0
def absence(wechat_id):
    subprocess.call("clear")
    while True:
        obj = ManCheckin(wechat_id)
        if obj.tea_id == 0:
            print PrtInfo.failedMessage(4)
            prompt = raw_input('maybe try again?(y/n)')
            if prompt == 'n':
                break
        else:
            c = BaseCheckin.find_checkin_obj_for_tea(wechat_id)
            if c != None:
                temp = []
                for stu in c.init_student_records():
                    auto_rec = c.get_latest_record(stu['StuID'], 'Auto')
                    if auto_rec == {} or auto_rec['IsSuc'] == 'False':
                        auto_rec = {
                            'StuID': stu['StuID'],
                            'checkinTime': '?????????????????????',
                            'ProofPath': 'none',
                            'checkinType': 'Auto',
                            'IsSuc': 'False',
                            'checkinResult': '???'
                        }
                        temp.append(auto_rec)
                print detail_format(temp)
                break
            else:
                break
Ejemplo n.º 4
0
def join_checkin_menu(wechat_id):
    subprocess.call("clear")
    while True:
        t = BaseCheckin.find_checkin_obj_with_wechat_id(wechat_id)
        if t != None:
            if t.get_random_list() != []:
                print 'Random check in student list :'
                print t.get_random_list()
            t.join_checkin(wechat_id)
        prompt = raw_input('maybe try again?(y/n)')
        if prompt == 'n':
            subprocess.call("clear")
            break
Ejemplo n.º 5
0
def checkin_history(wechat_id):
    subprocess.call("clear")
    while True:

        obj = ManCheckin(wechat_id)
        if obj.tea_id == 0:
            print PrtInfo.failedMessage(4)
            prompt = raw_input('maybe try again?(y/n)')
            if prompt == 'n':
                break
        else:
            r = range(1, obj.init_seq_id(obj.tea_id, obj.crs_id))
            r.append('exit')
            print len(r)
            c = Form(['seq id'], r)
            seq_id = c.init_form()
            if seq_id == len(r) or seq_id == -1:
                break
            detail_records = DetailFile.read_file(
                BaseCheckin.init_detail_name(obj.tea_id, obj.crs_id, seq_id))
            detail_format(
                BaseCheckin.filter_invalid_detail_records(detail_records))
            break
Ejemplo n.º 6
0
def start_checkin_menu(wechat_id):
    subprocess.call("clear")
    while True:
        obj = BaseCheckin.find_checkin_obj_for_tea(wechat_id)
        if obj != None:
            print PrtInfo.failedMessage(7)
            break
        obj = AutoCheckin(wechat_id)
        if obj == None:
            print PrtInfo.failedMessage(4)
            prompt = raw_input('maybe try again?(y/n)')
            if prompt == 'n':
                break
        else:
            obj.start_checkin()
            break
Ejemplo n.º 7
0
def start_random_menu(wechat_id):
    subprocess.call("clear")
    while True:
        obj = BaseCheckin.find_checkin_obj_for_tea(wechat_id)
        if obj == None:
            print PrtInfo.failedMessage(4)
            prompt = raw_input('maybe try again?(y/n)')
            if prompt == 'n':
                subprocess.call("clear")
                break
        else:
            try:
                i = int(raw_input('Please input random number:'))
                obj.start_random_checkin(i)
                break
            except ValueError, e:
                print 'invalid input ,try again'
Ejemplo n.º 8
0
def detail_now(wechat_id):
    subprocess.call("clear")
    while True:
        obj = ManCheckin(wechat_id)
        if obj.tea_id == 0:
            print PrtInfo.failedMessage(4)
            prompt = raw_input('maybe try again?(y/n)')
            if prompt == 'n':
                break
        else:
            c = BaseCheckin.find_checkin_obj_for_tea(wechat_id)
            if c != None:
                detail_records = BaseFile.read_file(
                    c.init_detail_name(str(c.tea_id), str(c.crs_id),
                                       str(c.seq_id)))
                detail_format(detail_records)
                break
            else:
                break
Ejemplo n.º 9
0
def update_once_checkin(wechat_id):
    subprocess.call("clear")
    while True:
        obj = ManCheckin(wechat_id)
        if obj.tea_id == 0:
            print PrtInfo.failedMessage(4)
            prompt = raw_input('maybe try again?(y/n)')
            if prompt == 'n':
                break
        else:
            r = range(1, obj.init_seq_id(obj.tea_id, obj.crs_id))
            r.append('exit')
            c = Form(['seq id'], r)
            seq_id = c.init_form()
            if seq_id == len(r) or seq_id == -1:
                break
            detail_records = DetailFile.read_file(
                BaseCheckin.init_detail_name(obj.tea_id, obj.crs_id, seq_id))
            detail_format(detail_records)
            stu_id = raw_input(PrtInfo.promptMessage(3))
            obj.update_stu_detail_checkin_result(stu_id, seq_id, obj.tea_id,
                                                 obj.crs_id)
            break