def handle(self, *args, **options): # process arguments module_code = args[0] wb_file = os.path.join(XLS_ROOT, args[1]) # open workbook wb = xlrd.open_workbook(wb_file) # get first sheet ws = wb.sheet_by_index(0) # iterate over rows (ignore first) curr_row = 0 while curr_row < ws.nrows - 1: curr_row += 1 if ws.cell_type(curr_row, 0) == 1: sid = ws.cell_value(curr_row, 0) u = User(username=sid) if ws.cell_type(curr_row, 1) == 1: u.last_name = ws.cell_value(curr_row, 1) if ws.cell_type(curr_row, 2) == 1: u.first_name = ws.cell_value(curr_row, 2) if ws.cell_type(curr_row, 3) == 1: u.email = ws.cell_value(curr_row, 3) u.save() s = Student(user=u) s.nickname = ws.cell_value(curr_row, 3) s.save()
def handle(self, *args, **kwargs): count = kwargs['count'] for i in range(count): u = User(username=f'new_user00{i}', password='******') u.save() p = Profile.objects.get(user=u) p.user = u p.first_name = 'SchoolStudent' p.last_name = str(i) p.birthdate = generate_birthdate() p.date_joined = generate_birthdate() p.status = 'S' p.save() s = Student( profile=p, class_joined=random.randint(1, 5), current_class=random.randint(6, 10), class_passed=False, ) s.save() s.current_teachers.add(get_teacher()) s.save() self.stdout.write(self.style.SUCCESS('Students Created Successfully'))
def handle(self, *args, **options): # process arguments module_code = args[0] wb_file = os.path.join(XLS_ROOT, args[1]) # open workbook wb = xlrd.open_workbook(wb_file) # get first sheet ws = wb.sheet_by_index(0) # iterate over rows (ignore first) curr_row = 0 while curr_row < ws.nrows - 1: curr_row += 1 if ws.cell_type(curr_row, 0) == 1: sid = ws.cell_value(curr_row, 0) u = User( username=sid ) if ws.cell_type(curr_row, 1) == 1: u.last_name = ws.cell_value(curr_row, 1) if ws.cell_type(curr_row, 2) == 1: u.first_name = ws.cell_value(curr_row, 2) if ws.cell_type(curr_row, 3) == 1: u.email = ws.cell_value(curr_row, 3) u.save() s = Student( user=u ) s.nickname = ws.cell_value(curr_row, 3) s.save()
def create_student(): try: name = input('请输入学生姓名: ').strip() age = input('请输入学生年龄: ').strip() qq = input('请输入学生qq号码: ').strip() student_name_list = [obj['name'] for obj in Student.get_all_obj_list()] if name in student_name_list: raise Exception('\033[43;1m学生[%s] 已经存在,不可重复创建\033[0m' % (name)) classes_list = Classes.get_all_obj_list() for k, obj in enumerate(classes_list): print('%s [%s][%s]校区 班级[%s]'.center(60, '-') \ % (k, obj['school_nid'].get_obj_by_uuid(settings.SCHOOL_DB_DIR )['name'],\ obj['school_nid'].get_obj_by_uuid(settings.SCHOOL_DB_DIR )['addr'], \ obj['name'])) id = int(input('请选择班级: ')) class_obj = classes_list[id] obj = Student(name, age, qq, class_obj['nid']) obj.save() status = True error = '' data='\033[33;1m学生 名字[%s] 年龄[%s] qq[%s] 班级[%s] 创建成功\033[0m' \ %(obj.name,obj.age,obj.qq,obj.classes_nid.get_obj_by_uuid(settings.CLASSES_DB_DIR )['name']) print(data) except Exception as e: status = False error = str(e) print('error: %s' % error) data = '' return {'status': status, 'error': error, 'data': data}
def signup(self, request, user): user.first_name = self.cleaned_data['first_name'] user.last_name = self.cleaned_data['last_name'] user.save() student = Student() student.user = user student.save()
def create_student(): try: print('创建学生'.center(60, '=')) name = input("请输入姓名: ").strip() age = input("请输入年龄: ").strip() if name == '' or age == '': raise Exception("输入不能为空") if age.isdigit(): age = int(age) else: raise Exception("年龄应该是数字") student_name_list = [obj.name for obj in Student.get_all_obj_list()] if name in student_name_list: raise Exception("学生[%s]已存在" % name) school_list = School.get_all_obj_list() for k, obj in enumerate(school_list): print(k, '[%s] [%s]校区' % (obj.name, obj.addr)) s_sid = input("请选择学校:") if s_sid.isdigit(): s_sid = int(s_sid) if s_sid >= len(school_list): raise Exception("输入的学校不存在") else: raise Exception("输入的学校不存在") classes_list = Classes.get_all_obj_list() for k, obj in enumerate(classes_list): print(k, obj.name, '[%s]校区' % (obj.school_nid.get_obj_by_nid().addr)) sid = input("请选择班级:") if sid.isdigit(): sid = int(sid) if sid >= len(classes_list): raise Exception("输入的班级不存在") else: raise Exception("输入的班级不存在") if school_list[s_sid].nid.nid != classes_list[sid].school_nid.nid: raise Exception("[%s][%s]校区没有 [%s]班级" % (school_list[s_sid].name, school_list[s_sid].addr, classes_list[sid].name)) print( "学费为: ", classes_list[sid].course_to_teacher_list_nid. get_obj_by_nid().course_nid.get_obj_by_nid().price) obj = Student(name, age, classes_list[sid].nid) obj.save() status = True error = '' data = '\033[33;1m学生[%s] 创建成功\033[0m' % name except Exception as e: status = False error = str(e) data = '' return {'status': status, 'error': error, 'data': data}
def main(args): """ Iterate through assistants and scrap their moodle """ if len(args) < 1: todos = Assistant.objects.all() else: todos = [] for a in args[1:]: try: assistant = Assistant.objects.get(pk=int(a)) todos.append(assistant) except: sys.stderr.write('Could not load assistant: %s' % a) # Execute todos for a in todos: if not a.is_updater: continue session = MoodleSession(str(a.moodle_url)) session.set_verbosity(0) try: session.login(a.moodle_user, a.moodle_password) except LoginError: sys.stderr.write("Failed to connect.\n") sys.exit(1) if not session.answered("Overview of my courses"): sys.stderr.write("Unexpected page (%d bytes)\n" % len(session.body())) sys.exit(-2) else: course_id = int(a.moodle_course_id) try: course = Course.objects.get(external_id=course_id) except: courses = session.list_courses() course = None for c in courses: if c[0] == course_id: course = Course(external_id=course_id, title=c[1], name=''.join([chr[0] for chr in c[1].split(' ')])) course.save() break if course is None: sys.stderr.write("Could not get course: %d " % course_id) continue groups = session.list_groups(int(a.moodle_course_id)) for key,g in groups.items(): for user in g['users']: try: student = Student.objects.get(external_id=user[0]) except: student = Student(external_id=user[0]) if student.first_name != user[1] or \ student.avatar != user[2] or \ student.group != g['name']: student.first_name = user[1] student.avatar = user[2] student.group = g['name'] student.save() if course.students.filter(id=student.id).count() == 0: # Add student to course course.students.add(student) # Assign the current assistant to the newly created course: a.courses.add(course) print "Updated course: ", a.moodle_course_id, " for ", a
def main(args): """ Iterate through assistants and scrap their moodle """ if len(args) < 1: todos = Assistant.objects.all() else: todos = [] for a in args[1:]: try: assistant = Assistant.objects.get(pk=int(a)) todos.append(assistant) except: sys.stderr.write('Could not load assistant: %s' % a) # Execute todos for a in todos: if not a.is_updater: continue session = MoodleSession(str(a.moodle_url)) session.set_verbosity(0) try: session.login(a.moodle_user, a.moodle_password) except LoginError: sys.stderr.write("Failed to connect.\n") sys.exit(1) if not session.answered("Overview of my courses"): sys.stderr.write("Unexpected page (%d bytes)\n" % len(session.body())) sys.exit(-2) else: course_id = int(a.moodle_course_id) try: course = Course.objects.get(external_id=course_id) except: courses = session.list_courses() course = None for c in courses: if c[0] == course_id: course = Course( external_id=course_id, title=c[1], name=''.join([chr[0] for chr in c[1].split(' ')])) course.save() break if course is None: sys.stderr.write("Could not get course: %d " % course_id) continue groups = session.list_groups(int(a.moodle_course_id)) for key, g in groups.items(): for user in g['users']: try: student = Student.objects.get(external_id=user[0]) except: student = Student(external_id=user[0]) if student.first_name != user[1] or \ student.avatar != user[2] or \ student.group != g['name']: student.first_name = user[1] student.avatar = user[2] student.group = g['name'] student.save() if course.students.filter(id=student.id).count() == 0: # Add student to course course.students.add(student) # Assign the current assistant to the newly created course: a.courses.add(course) print "Updated course: ", a.moodle_course_id, " for ", a