示例#1
0
    def login(self, st):

        msg_dict = eval(st)  # 获取从报头中解析出来的信息

        user_info = self.get_file()  # 从数据库中获取用户信息

        send_dict = {}
        if msg_dict['count'] < 3:
            if msg_dict['user_id'] in user_info.sections():
                password = user_info[msg_dict['user_id']]['password']
            if msg_dict['user_password'] == password:
                for k, v in user_info[msg_dict['user_id']].items():
                    send_dict[k] = v
                send_dict['user_id'] = msg_dict['user_id']
                self.conn.send(str(send_dict).encode(
                    setting.CODING))  # 账号密码正确向客户端发送用户信息

                log_msg = 'account:%s  operation:login  info:login successfully' % msg_dict[
                    'user_id']
                loggers = Logger.logs('landing')
                loggers.info(log_msg)  # 记录日志

            else:
                self.conn.send(str(send_dict).encode(setting.CODING))
        else:  # 用户密码输出超过三次账号冻结
            user_info[msg_dict['user_id']]['state'] = '1'
            user_info.write(
                open(r'%s\db\user_info.ini' % self.path,
                     'w',
                     encoding=setting.CODING))  # 密码输出3次以上账号冻结

            log_msg = 'account:%s  operation:login  info:account lockout' % msg_dict[
                'user_id']
            loggers = Logger.logs('landing')
            loggers.info(log_msg)  # 记录日志
示例#2
0
    def add_user(self, msg_dict):
        user_info = self.get_file()
        user_id = msg_dict['user_name']
        if user_id not in user_info.sections() and len(user_id) != 0:

            user_info.add_section(msg_dict['user_name'])
            user_info[user_id]['state'] = '0'
            user_info[user_id]['password'] = msg_dict['user_password']
            os.makedirs(str(setting.Home_Dir(user_id)))  # 生成个人家目录
            os.makedirs(r'%s\share' %
                        str(setting.Home_Dir(user_id)))  # 生成上传文件夹
            # 注册后个人存储空间为1G
            user_info[user_id]['memory'] = '1G'
            user_info[user_id]['use_space'] = '0'
            user_info[user_id]['balance'] = '0'
            user_info.write(
                open(r'%s\db\user_info.ini' % self.path,
                     'w',
                     encoding=setting.CODING))
            self.send_respond(state_code=200)

            log_msg = 'account:%s  operation:add_user  info:login successfully' % user_id
            loggers = Logger.logs('landing')
            loggers.info(log_msg)  # 记录日志

        else:
            self.send_respond(state_code=201)
示例#3
0
 def replacement(cls):
     '''
     重置账号状态
     :return:
     '''
     role_list = [['老师账户重置', 'teacher'], ['学生账户重置', 'student']]
     while True:
         for index, i in enumerate(role_list):
             print(index, i[0])
         choice = input('输出操作序号(b退出)>>:').strip()
         if choice == 'b':
             return
         if choice.isdigit():
             choice = int(choice)
         else:
             print('请输入正确的序号!')
             return
         if len(role_list) >= choice:
             account = input('请输入要重置的账号>>:').strip()
             account_list = cls.get_data(role_list[choice][1],
                                         role_list[choice][1])
         else:
             print('请输入正确的序号!')
             return
         if account in account_list:
             cls.reset(role_list[choice][1], account)
             log_msg = 'role:admin   account:admin   operation:reset   info:%s:%s账户重置成功!' %\
                       (role_list[choice][1], account)
             loggers = Logger.logs('manager')
             loggers.info(log_msg)
示例#4
0
    def make_teacher(cls):
        '''
        添加老师账户
        :return:
        '''
        new_teacher = cls.creat_teacher()  # 创建老师对象
        choice_school = cls.select_school()  # 选择学校
        choice_course = cls.select_course('course', choice_school)  # 选择课程
        new_teacher.structure['school'] = choice_school
        new_teacher.structure['teacher_course'] = choice_course
        new_teacher.structure['teacher_id'] = cls.creat_id(
            'teacher', choice_school,
            new_teacher.structure['teacher_class'])  # 生成老师ID
        teacher_list = cls.get_data('teacher', 'teacher')
        teacher_list[
            new_teacher.structure['teacher_id']] = new_teacher.teacher_name
        cls.save_file('teacher', 'teacher', teacher_list)
        cls.save_file('teacher', new_teacher.structure['teacher_id'],
                      new_teacher.structure)  # 报存老师信息

        massage_course = cls.get_data('course', choice_course)
        massage_course['course_teacher'].append(
            new_teacher.structure['teacher_id'])
        print(massage_course)
        cls.save_file('course', choice_course, massage_course)  # 同步教师信息给课程

        massage_school = cls.get_data('school', choice_school)
        massage_school['teacher_id'].append(
            new_teacher.structure['teacher_id'])
        cls.save_file('school', choice_school, massage_school)  # 同步老师信息到学校

        log_msg = 'role:admin   account:admin   operation:creat teacher   info:%s账户创建成功' \
                  % new_teacher.structure['teacher_id']
        loggers = Logger.logs('manager')
        loggers.info(log_msg)
示例#5
0
    def dilatation(self, msg_dict):
        user_info = self.get_file()
        user_id = msg_dict['user_id']
        if int(user_info[user_id]['balance']) >= msg_dict['need_money']:
            new_memory = int(user_info[user_id]['memory'].split('G')[0]) + int(
                msg_dict['buy_memory'])
            balance = int(
                user_info[user_id]['balance']) - msg_dict['need_money']
            user_info[user_id]['balance'] = str(balance)
            user_info[user_id]['memory'] = str(new_memory) + 'GB'
            user_info.write(
                open(r'%s\db\user_info.ini' % self.path,
                     'w',
                     encoding=setting.CODING))
            send_msg = {
                'new_memory': str(new_memory) + 'GB',
                'new_balance': balance
            }
            self.send_respond(state_code=302, **send_msg)  # 充值成功返回客户端状态信息

            log_msg = 'account:%s  operation:dilatation  buy_spacey:%s  info:dilatation successfully' % \
                      (user_id, str(msg_dict['buy_memory']) + 'G')
            loggers = Logger.logs('transaction')
            loggers.info(log_msg)  # 记录日志

        else:
            send_msg = {
                'new_memory': user_info[user_id]['memory'],
                'new_balance': user_info[user_id]['balance']
            }
            self.send_respond(state_code=301, **send_msg)
示例#6
0
 def change_course(cls):
     '''
     更新课程信息
     :return:
     '''
     course = cls.update_course('course')
     log_msg = 'role:admin   account:admin   operation:update course   info:%s课程更新成功!' % course
     loggers = Logger.logs('manager')
     loggers.info(log_msg)
示例#7
0
 def make_course(cls):
     '''
     添加新课程
     :return:
     '''
     new_course = cls.creat_course()
     log_msg = 'role:admin   account:admin   operation:creat course   info:%s课程创建成功' \
               % new_course.course_name
     loggers = Logger.logs('manager')
     loggers.info(log_msg)
示例#8
0
def landing(role):
    '''
    老师和学生认证装饰器
    :param func:
    :return:
    '''
    n = 0
    while True:
        account = input('输入账号>>:').strip()
        file_path = Module.check_file(role, account)
        if file_path:  # 账号校验
            massage = Module.get_data(role, account)
        else:
            print('用户未注册!')
            continue
        if massage['state'] == 0:  # 检查用户状态
            r_password = input('输入密码>>:').strip()
            password = Module.encrypt(r_password)
        else:
            print('账号被冻结,请联系管理员解除锁定!')
            exit()  # 账号冻结退出程序
        if password == massage['password']:  # 密码校验
            print('登录成功!')
            landing_log = 'role:%s   account:%s   operation:landing   info:登录成功!' % (
                role, account)
            loggers = Logger.logs(role)
            loggers.info(landing_log)
            return account
        else:
            print('密码错误,请重新输入!')
            n += 1
        if n >= 3:
            print('密码输入错误次数过多,账号被冻结!')
            massage['state'] = 1
            Module.save_file(role, account, massage)
            landing_error = 'role:%s   account:%s   operation:landing   info:账号被冻结!' % (
                role, account)
            loggers = Logger.logs(role)
            loggers.error(landing_error)
            return
示例#9
0
    def change_pwd(self, msg_dict):
        user_info = self.get_file()  # 从数据库中获取用户信息
        user_id = msg_dict['user_id']
        if user_info[user_id]['password'] == msg_dict['old_pwd']:
            user_info[user_id]['password'] = msg_dict['new_pwd']
            user_info.write(
                open(r'%s\db\user_info.ini' % self.path,
                     'w',
                     encoding=setting.CODING))

            log_msg = 'account:%s  operation:change password  info:change password successfully' % user_id
            loggers = Logger.logs('landing')
            loggers.info(log_msg)  # 记录日志
示例#10
0
    def login(self, msg_dict):
        user_info = self.get_file()  # 从数据库中获取用户信息
        user_id = msg_dict['user_id']
        send_msg = {}
        if msg_dict['user_id'] in user_info.sections():
            if user_info[user_id]['state'] == '0':
                if msg_dict['count'] < 3:
                    password = user_info[user_id]['password']
                    if msg_dict['user_password'] == password:
                        self.home_dir = r'%s\home\%s' % (
                            self.path, msg_dict['user_id'])  # 登录成功获取用户家目录
                        for k, v in user_info[user_id].items():
                            send_msg[k] = v
                        send_msg['user_id'] = user_id
                        self.send_respond(state_code=100, **send_msg)

                        log_msg = 'account:%s  operation:login  info:login successfully' % msg_dict[
                            'user_id']
                        loggers = Logger.logs('landing')
                        loggers.info(log_msg)  # 记录日志
                    else:
                        self.send_respond(state_code=101)
                else:
                    user_info[user_id]['state'] = '1'
                    user_info.write(
                        open(r'%s\db\user_info.ini' % self.path,
                             'w',
                             encoding=setting.CODING))  # 密码输出3次以上账号冻结
                    self.send_respond(state_code=102)

                    log_msg = 'account:%s  operation:login  info:account lockout' % msg_dict[
                        'user_id']
                    loggers = Logger.logs('landing')
                    loggers.info(log_msg)  # 记录日志

            else:
                self.send_respond(state_code=102)
        else:
            self.send_respond(state_code=101)
示例#11
0
 def chang_massage(role, account):
     '''
     更新个人信息
     :param account:
     :return:
     '''
     old_massage = Teacher_Function.get_data(role, account)
     Teacher_Function.update_teacher(role, account)
     new_massage = Teacher_Function.get_data(role, account)
     if str(old_massage) == str(new_massage):       # 判断信息是否修改过
         log_msg = 'role:teacher   account:%s   operation:update massage   info:个人信息更新成功!' %\
                   (account)
         loggers = Logger.logs(role)
         loggers.info(log_msg)                      # 记录老师信息修改记录
示例#12
0
 def chang_massage(cls, role, account):
     '''
     更新个人信息
     :param account:
     :return:
     '''
     old_massage = cls.get_data(role, account)
     cls.update_student(role, account)
     new_massage = cls.get_data(role, account)
     if str(old_massage) == str(new_massage):  # 判断信息是否修改过
         log_msg = 'role:student   account:%s   operation:update massage   info:个人信息更新成功!' % \
                   (account)
         loggers = Logger.logs(role)
         loggers.info(log_msg)  # 记录学生信息修改记录
示例#13
0
 def make_school(cls):
     '''
     添加学校
     :return:
     '''
     new_school = cls.creat_school()  # 创建学校对象
     pick_course_id = cls.select_course('school',
                                        new_school.school_id)  # 绑定课程到学校
     for i in pick_course_id:  # 经课程id添加到学校
         new_school.structure['course_id'].append(i)
     cls.save_file('school', new_school.school_id,
                   new_school.structure)  # 保存学校信息
     log_msg = 'role:admin   account:admin   operation:creat school   info:%s创建成功!' % new_school.name
     loggers = Logger.logs('manager')
     loggers.info(log_msg)
示例#14
0
    def inner():
        count = 0
        while count < 3:
            account = input('请输入管理员账号(b退出程序)>>:').strip()
            if account == 'b':
                return
            password = input('请输入密码>>:').strip()
            if account == 'admin' and password == 'admin':
                print('登录成功!')
                log_massage = 'role:manager   account:admin   operation:landing   info:管理员成功登录!'  # 日志信息
                loggers = Logger.logs('manager')
                # 记录日志
                loggers.info(log_massage)
                return func()
            else:
                print('账号或密码错误!')
                count += 1

        if count == 3:
            print('当日密码输入次数过多!')
            error = 'role:admin   account:admin   operation:landing   info:密码输入次数过多!'
            loggers = Logger.logs('manager')
            # 记录错误日志
            loggers.error(error)
示例#15
0
    def uploading(self, st):
        msg_dict = eval(st)
        user_info = self.get_file()
        user_id = msg_dict['user_id']
        total_size = int(user_info[user_id]['memory'].split('G')[0])
        total_v = total_size * 1024 * 1024 * 1024
        file_name = msg_dict['file_path'].split('\\')
        send_msg = {
            'flag': True,
            'use_space': None,
            'surplus_space': None,
            'file_size': self.bytes(msg_dict['file_size'])
        }  # 发送给客户端的状态信息
        if int(user_info[user_id]['use_space']) + \
                msg_dict['file_size'] <= total_v:  # 判断文件大小是否超过内存
            use_space = int(
                user_info[user_id]['use_space']) + msg_dict['file_size']
            user_info[user_id]['use_space'] = str(use_space)
            user_info.write(
                open(r'%s\db\user_info.ini' % self.path,
                     'w',
                     encoding=setting.CODING))
            send_msg['use_space'] = self.bytes(use_space)
            uploading_path = r'%s\service\file_path\%s\share\%s' % (
                setting.BASIS_DIR, user_id, file_name[-1])
            self.conn.send(str(send_msg).encode(setting.CODING))
            with open(uploading_path, 'wb') as f:
                print(uploading_path)
                recv_size = 0
                while recv_size < msg_dict['file_size']:
                    line = self.conn.recv(1024)
                    f.write(line)
                    recv_size += len(line)
                    print('总大小:%s    已上传大小:%s' %
                          (msg_dict['file_size'], recv_size))

            log_msg = 'account:%s  operation:uploading  file_name:%s  info:uploading successfully' % \
                      (user_id, file_name[-1])
            loggers = Logger.logs('operation')
            loggers.info(log_msg)  # 记录日志

        else:
            surplus_space = total_v - int(user_info[user_id]['use_space'])
            send_msg['flag'] = False
            send_msg['surplus_space'] = self.bytes(surplus_space)
            self.conn.send(str(send_msg).encode(setting.CODING))
示例#16
0
    def make_student(cls):
        '''
        注册新账号
        :return:
        '''
        new_student = cls.create_student()  # 创建新的学生对象
        choice_school = cls.select_school()  # 注册时选择学校
        choice_course = cls.select_course('course', choice_school)  # 注册时选择课程
        choice_teacher = cls.select_teacher(choice_course,
                                            choice_school)  # 注册时选择老师
        choice_class = cls.select_class(choice_teacher)  # 注册时选择班级
        new_student.student_structure['school'] = choice_school
        new_student.student_structure['teacher'] = choice_teacher
        new_student.student_structure['class'] = choice_class
        new_student.student_structure['id'] = cls.creat_id(
            'student', choice_school, choice_class)  # 生成学号
        # 选课后分数为0
        new_student.student_structure['course'][choice_course] = 0
        student_list = cls.get_data('student', 'student')
        student_list[new_student.student_structure['id']] = new_student.name
        cls.save_file('student', 'student', student_list)
        cls.save_file('student', new_student.student_structure['id'],
                      new_student.student_structure)  # 保存信息
        print('注册成功!')
        print('您的序号为%s,请保管好号码,用以登陆!' % new_student.student_structure['id'])
        log_msg = 'role:%s   account:%s   operation:register   info:注册成功!' %\
                  ('student', new_student.student_structure['id'])
        loggers = Logger.logs('student')
        # 报存注册日志
        loggers.info(log_msg)

        massage_school = cls.get_data('school', choice_school)
        massage_school['student_id'].append(
            new_student.student_structure['id'])
        cls.save_file('school', choice_school, massage_school)  # 同步学生信息给学校

        massage_teacher = cls.get_data('teacher', choice_teacher)
        massage_teacher['student_id'].append(
            new_student.student_structure['id'])
        cls.save_file('teacher', choice_teacher, massage_teacher)  # 同步学生信息给老师

        massage_class = cls.get_data('classes', choice_class)
        massage_class['class_students'].append(
            new_student.student_structure['id'])
        cls.save_file('classes', choice_class, massage_class)  # 同步学生信息给班级
示例#17
0
 def recharge(cls, role, account):
     '''
     余额充值
     :param account:
     :return:
     '''
     massage = cls.get_data(role, account)
     money = input('充值金额(b退出)>>:').strip()
     if money == 'b':
         return
     if money.isdigit():
         money = int(money)
         massage['balance'] = int(massage['balance']) + money
         cls.save_file(role, account, massage)
         log_msg = 'role:student  account:%s  operation:recharge  info:成功充值%s元!' %\
                   (account, money)
         loggers = Logger.logs(role)
         loggers.info(log_msg)  # 记录充值信息
示例#18
0
    def recharge(self, st):
        msg_dict = eval(st)
        user_info = self.get_file()
        user_id = msg_dict['user_id']
        user_info[user_id]['balance'] = str(
            int(user_info[user_id]['balance']) + msg_dict['money'])
        user_info.write(
            open(r'%s\db\user_info.ini' % self.path,
                 'w',
                 encoding=setting.CODING))
        new_info = self.get_file()
        back_msg = new_info[user_id]['balance']
        self.conn.send(back_msg.encode(setting.CODING))  # 充值成功返回一个成功状态给客户端

        log_msg = 'account:%s  operation:recharge  recharge_money:%s  info:recharge successfully' % \
                  (user_id, msg_dict['money'])
        loggers = Logger.logs('transaction')
        loggers.info(log_msg)  # 记录日志
示例#19
0
    def recharge(self, msg_dict):
        user_info = self.get_file()
        user_id = msg_dict['user_id']
        send_msg = {}
        user_info[user_id]['balance'] = str(
            int(user_info[user_id]['balance']) + msg_dict['money'])
        user_info.write(
            open(r'%s\db\user_info.ini' % self.path,
                 'w',
                 encoding=setting.CODING))
        new_info = self.get_file()
        new_balance = new_info[user_id]['balance']
        send_msg['balance'] = new_balance
        self.send_respond(state_code=300, **send_msg)  # 充值成功返回一个成功状态给客户端

        log_msg = 'account:%s  operation:recharge  recharge_money:%s  info:recharge successfully' % \
                  (user_id, msg_dict['money'])
        loggers = Logger.logs('transaction')
        loggers.info(log_msg)  # 记录日志
示例#20
0
    def download(self, msg_dict):
        user_id = msg_dict['user_id']

        if os.path.exists(msg_dict['server_file_path']):
            header_dict = {
                'state_code': 401,
                'respond_msg': self.STATE_CODE[401],
                'filename': msg_dict['server_file_path'],
                'md5': 'xxxx',
                'file_size':
                os.path.getsize(r'%s' % msg_dict['server_file_path'])
            }  # 制作报头
            header_json = json.dumps(header_dict)
            header_bytes = header_json.encode(setting.CODING)

            self.conn.send(struct.pack('i', len(header_bytes)))  # 发送报头长度
            self.conn.send(header_bytes)  # 发送报头

            with open(r'%s' % msg_dict['server_file_path'],
                      'rb') as f:  # 发送下载文件内容
                f.seek(int(msg_dict['recv_size']))
                for line in f:
                    self.conn.send(line)

            log_msg = 'account:%s  operation:download  file_name:%s  info:download successfully' % \
                      (user_id, msg_dict['file_name'])
            loggers = Logger.logs('operation')
            loggers.info(log_msg)  # 记录日志
        else:
            header_dict = {
                'state_code': 402,
                'respond_msg': self.STATE_CODE[402],
                'filename': msg_dict['server_file_path'],
                'md5': 'xxxx',
                'file_size':
                os.path.getsize(r'%s' % msg_dict['server_file_path'])
            }  # 制作报头
            header_json = json.dumps(header_dict)
            header_bytes = header_json.encode(setting.CODING)

            self.conn.send(struct.pack('i', len(header_bytes)))  # 发送报头长度
            self.conn.send(header_bytes)  # 发送报头
示例#21
0
    def choice_course(cls, role, account):
        '''
        购买课程
        :param account:
        :return:
        '''
        massage = cls.get_data(role, account)
        course_id = cls.select_course(role, massage['school'])
        course_msg = cls.get_data('course', course_id)
        if int(massage['balance']) >= int(course_msg['perice']):
            massage['balance'] = int(massage['balance']) - int(
                course_msg['perice'])
            massage['course'][course_id] = None
            cls.save_file(role, account, massage)
            log_msg = 'role:student   account:%s   operation:choice course   info:%s课程选课成功!' %\
                      (account, course_id)
            loggers = Logger.logs(role)
            loggers.info(log_msg)

        else:
            print('余额不足,请充值!')
示例#22
0
    def add_user(self, st):
        msg_dict = eval(st)
        user_info = self.get_file()
        user_id = msg_dict['user_name']
        send_dict = {}
        if user_id not in user_info.sections() and len(user_id) != 0:

            user_info.add_section(msg_dict['user_name'])
            user_info[user_id]['state'] = '0'
            user_info[user_id]['password'] = msg_dict['user_password']
            user_info[user_id]['home_dir'] = str(setting.Home_Dir(user_id))
            os.makedirs(str(setting.Home_Dir(user_id)))  # 生成个人家目录
            os.makedirs(r'%s\share' %
                        str(setting.Home_Dir(user_id)))  # 生成上传文件夹
            # 注册后个人存储空间为1G
            user_info[user_id]['memory'] = '1G'
            user_info[user_id]['use_space'] = '0'
            user_info[user_id]['balance'] = '0'
            user_info.write(
                open(r'%s\db\user_info.ini' % self.path,
                     'w',
                     encoding=setting.CODING))

            send_dict['user_id'] = user_id
            send_dict['state'] = '0'
            send_dict['password'] = msg_dict['user_password']
            send_dict['home_dir'] = user_info[user_id]['home_dir']
            send_dict['memory'] = '1G'
            send_dict['use_space'] = '0'
            send_dict['balance'] = '0'
            self.conn.send(str(send_dict).encode(
                setting.CODING))  # 用户注册信息返回给客户端

            log_msg = 'account:%s  operation:add_user  info:registered successfully' % user_id
            loggers = Logger.logs('operation')
            loggers.info(log_msg)  # 记录日志

        else:
            self.conn.send(str(send_dict).encode(setting.CODING))
示例#23
0
    def schooltime(role, account):
        '''
        老师上课打卡
        :param account:
        :return:
        '''
        while True:
            teacher_msg = Teacher_Function.get_data(role, account)
            print(teacher_msg)
            for i in teacher_msg['teacher_class']:
                class_msg = Teacher_Function.born_class('classes', i)
                print(class_msg)
            class_id = input('请输入要上课班级的代号(b退出)>>:').strip()   # 选择上课班级

            if class_id in teacher_msg['teacher_class']:
                log_msg = 'role:teacher   account:%s   operation:schooltime   info:已在%s班级上课!' %\
                          (account, class_id)
                loggers = Logger.logs(role)
                loggers.info(log_msg)                      # 记录老师上课记录
                return
            else:
                print('请输入正确班级代码!')
示例#24
0
    def del_file(self, msg_dict):

        back_msg = {}
        users_info = self.get_file()
        del_path = msg_dict['file_path']
        file_size = os.path.getsize(del_path)
        os.remove(r'{}'.format(del_path))
        use_memory = self.space_calculate()
        users_info[msg_dict['user_id']]['use_space'] = use_memory
        users_info.write(
            open(r'%s\db\user_info.ini' % self.path,
                 'w',
                 encoding=setting.CODING))
        file_name = os.path.split(del_path)[1]
        back_msg['file_size'] = self.bytes(file_size)
        back_msg['file_name'] = file_name
        self.send_respond(state_code=402, **back_msg)

        log_msg = 'account:%s  operation:del file  file_name:%s  info:del file successfully' % (
            msg_dict['user_id'], file_name)
        loggers = Logger.logs('operation')
        loggers.info(log_msg)  # 记录日志
示例#25
0
    def make_class(cls):
        '''
        添加班级
        :return:
        '''
        new_class = cls.creat_class()  # 创建班级
        choice_school = cls.select_school()  # 给学校绑定班级
        choice_course = cls.select_course('course', choice_school)  # 给班级绑定课程
        choice_teacher = cls.select_teacher(choice_course,
                                            choice_school)  # 给班级绑定老师
        new_class.structure['school'] = choice_school
        new_class.structure['class_course'] = choice_course
        new_class.structure['class_teacher'] = choice_teacher
        cls.save_file('classes', new_class.class_id,
                      new_class.structure)  # 保存班级信息

        massage_teacher = cls.get_data('teacher', choice_teacher)
        massage_teacher['teacher_class'].append(new_class.class_id)
        cls.save_file('teacher', choice_teacher, massage_teacher)  # 班级信息同步到老师

        log_msg = 'role:admin   account:admin   operation:creat class   info:%s创建成功' % new_class.class_name
        loggers = Logger.logs('manager')
        loggers.info(log_msg)
示例#26
0
    def download(self, st):
        msg_dict = eval(st)
        user_id = msg_dict['user_id']

        header_dict = {
            'filename': msg_dict['file_path'],
            'md5': 'xxxx',
            'file_size': os.path.getsize(r'%s' % msg_dict['file_path'])
        }  # 制作报头
        header_json = json.dumps(header_dict)
        header_bytes = header_json.encode(setting.CODING)

        self.conn.send(struct.pack('i', len(header_bytes)))  # 发送报头长度
        self.conn.send(header_bytes)  # 发送报头

        with open(r'%s' % msg_dict['file_path'], 'rb') as f:  # 发送下载文件内容
            for line in f:
                self.conn.send(line)

        file_list = msg_dict['file_path'].split('\\')
        log_msg = 'account:%s  operation:download  file_name:%s  info:download successfully' % \
                  (user_id, file_list[-1])
        loggers = Logger.logs('operation')
        loggers.info(log_msg)  # 记录日志
示例#27
0
 def update_password(role, account):
     Teacher_Function.change_password(role, account)
     log_msg = 'role:teacher   account:%s   operation:change password   info:密码修改成功!' % (
         account)
     loggers = Logger.logs(role)
     loggers.info(log_msg)
示例#28
0
 def update_password(cls, role, account):
     cls.change_password(role, account)
     log_msg = 'role:student   account:%s   operation:change password   info:密码修改成功!' % (
         account)
     loggers = Logger.logs(role)
     loggers.info(log_msg)