def student_create(): if not request.json or not 'name' in request.json: abort(400) student = Student(request.json['name']) db.session.add(student) db.session.commit() return jsonify(student.dict())
def new_user(self, first_name, last_name, email, password, is_verified, is_premium): user = Student(first_name=first_name, last_name=last_name, email=email, password=password, is_verified=is_verified, is_premium=is_premium) user.save() return user
def update_group(gr, name, stud_id): if name == gr.groupname and ( (gr.starosta is None and stud_id == 0) or (gr.starosta is not None and stud_id == gr.starosta.id)): req = 'нечего изменять' else: if stud_id != 0: stud = Student.get_by_id(stud_id) else: stud = None str_star = '' if stud is not None: if stud.group != gr: str_star = (f' студент {str(stud)} не задан старостой \ т.к. находится в другой группе') stud = None if name == '': return (f'нечего изменять, {str_star}') else: str_star = f' староста по id {stud_id} не найден' oldname = str(gr) if name != '': gr.groupname = name if stud != None: gr.starosta = stud gr.save() req = ((f'Группа {oldname} успешно обновлена') + (f'{str_star}' if str_star != '' else '')) return req
def get_member(): with Student.auto_commit(): member = Member("Mario", 3.0, '*****@*****.**', 'A', '123456') # 数据库的insert操作 Student.session.add(member) return 'hello member'
def csv_import(cls, reader): for row in csv.DictReader(reader): teacher_id = row['teacher_id'] student_id = row['student_id'] start_time = make_local_dt(row['date'], row['start_time']) teacher = Teacher.key_for_sis_id(teacher_id) if teacher is None: logging.warn("no such teacher %s" % teacher_id) continue if student_id and Student.query(Student.sis_id == student_id).count == 0: logging.warn("no such student %s" % student_id) continue appointment = cls.query(cls.start_time == start_time, ancestor=teacher).get() if appointment is None: appointment = cls( parent=teacher, student_id=student_id, start_time=start_time, duration=int(row['duration']), location=row['location'], teacher_name=row['teacher_name'], is_active=bool_from_string(row['active']) ) appointment.put() logging.info("inserted appointment: %s" % row) else: appointment.student_id = student_id appointment.start_time = start_time appointment.duration = int(row['duration']) appointment.location = row['location'] appointment.teacher_name = row['teacher_name'] appointment.is_active = bool_from_string(row['active']) appointment.put() logging.info("updated appointment: %s" % row)
def studentform(): gr = Group.gr_select() arg_id = request.args.get('id') if arg_id is not None: stud = Student.get_by_id(arg_id) form = StudentForm(request.form or None, obj=stud) form.group.choices = gr form.group.data = stud.group.id else: form = StudentForm(request.form or None) form.group.choices = gr if request.method == 'POST' and form.validate(): studinfo = get_stud_info(form) if arg_id is not None: req = update_stud(stud, studinfo) else: req = add_student(studinfo) flash(req) return redirect(url_for('students.get_students')) else: elsereq = render_template('studentform.html', form=form, title='Изменить студента') return elsereq
def groupform(): arg_id = request.args.get('id') if arg_id is not None: group = Group.get_by_id(arg_id) form = GroupForm(request.form or None, obj=group) stud = Student.stud_select(arg_id) form.star.choices = stud if group.starosta is not None: form.star.data = group.starosta.id else: form.star.data = 0 title = 'Изменить группу' else: group = None form = GroupForm(request.form or None) #без этого не отрабатывала валидация. ругалость, что не выбран староста form.star.choices = [(0,'')] form.star.data = 0 # title = 'Добавить группу' if request.method == 'POST' and form.validate(): if arg_id is not None: req = update_group(group, form.groupname.data, form.star.data) else: req = add_group(form.groupname.data) flash(req) return redirect(url_for('groups.get_groups')) else: return render_template('groupform.html', group=group, form=form, title=title)
def csv_import(cls, reader): for row in csv.DictReader(reader): teacher_id = row['teacher_id'] student_id = row['student_id'] start_time = make_local_dt(row['date'], row['start_time']) teacher = Teacher.key_for_sis_id(teacher_id) if teacher is None: logging.warn("no such teacher %s" % teacher_id) continue if student_id and Student.query( Student.sis_id == student_id).count == 0: logging.warn("no such student %s" % student_id) continue appointment = cls.query(cls.start_time == start_time, ancestor=teacher).get() if appointment is None: appointment = cls(parent=teacher, student_id=student_id, start_time=start_time, duration=int(row['duration']), location=row['location'], teacher_name=row['teacher_name'], is_active=bool_from_string(row['active'])) appointment.put() logging.info("inserted appointment: %s" % row) else: appointment.student_id = student_id appointment.start_time = start_time appointment.duration = int(row['duration']) appointment.location = row['location'] appointment.teacher_name = row['teacher_name'] appointment.is_active = bool_from_string(row['active']) appointment.put() logging.info("updated appointment: %s" % row)
def create_student(*, account: Account, firstname: str, lastname: str, dateofbirth: str, gender: str, **kwargs) -> Student: student_account_check(account) if student_exist(account.id, raise_exception=False): raise InvalidInputFormat( "Account {} already has a student.".format(account.id)) profile_picture = None if gender.lower() == "male": profile_picture = 'profile/student_default_male.jpg' elif gender.lower() == "female": profile_picture = 'profile/student_default_female.jpg' else: profile_picture = 'profile/student_default_male.jpg' print("Gender {} ???".format(gender)) s = Student(account=account, firstname=firstname, lastname=lastname, dateofbirth=dateofbirth, gender=gender, profile_picture=profile_picture, **kwargs) s.save() return s
def get(self, student_name): err = "Nonexistent Profile" session = main_db.session response = Student.get_first_or_abort_on_none( session, Student.student_name == student_name, message=err) response = response.as_dict() return response, 200
def get(self): session = main_db.session response = {"list": [], "code": ""} result = Student.get_all(session, None) for project in result: response["list"].append(project.as_dict()) return response, 200
def ImportIndivaidual(): if session.get("id") is None: return redirect("/user/login") name = session.get("name") courseId = request.args.get("id") if request.method == "GET": return render_template("teacher_templates/importindividual.html", courseId=courseId, name=name) else: name = request.form.get("name") password = request.form.get("password") gpa = request.form.get("gpa") email = request.form.get("email") programme = request.form.get("programme") id = request.form.get("id") if email == "" or password == "" or gpa == "" or programme == "" or name == "" or id == "": return render_template("teacher_templates/importindividual.html", courseId=courseId, name=name, message="参数不完全") student = Student.query.filter_by(email=email).first() if student: return render_template("teacher_templates/importindividual.html", courseId=courseId, name=name, message="该学生已经存在") student = Student.query.filter_by(id=id).first() if student: return render_template("teacher_templates/importindividual.html", courseId=courseId, name=name, message="该学生已经存在") with db.auto_commit(): student = Student(name, id, gpa, email, password, programme) # 数据库的insert操作 db.session.add(student) student = Student.query.filter_by(email=email).first() if student is not None: with db.auto_commit(): courseAndStudent = CourseAndStudent() courseAndStudent.CourseId = courseId courseAndStudent.studentId = student.id db.session.add(courseAndStudent) return render_template("teacher_templates/importindividual.html", courseId=courseId, name=name, message="学生提交成功")
def student_register(): form = StudentRegisterForm() if form.validate_on_submit(): student = Student(name=form.name.data, email=form.email.data, phone=form.phone.data, grade_level=form.grade_level.data, parent_code=form.parent_code.data) student.generate_password_hash(form.password.data) db.session.add(student) db.session.commit() flash('Successful! You Can Login', 'success') return render_template('views/auth/student_register.html', title='Student Register', form=form)
def ImportClass(): if session.get("id") is None: return redirect("/user/login") name = session.get("name") courseId = request.args.get("courseId") if request.method == "GET": return render_template("teacher_templates/importclassinfo.html", name=name, courseId=courseId) else: file = request.files.get("files") f = file.read() # 文件内容 data = xlrd.open_workbook(file_contents=f) table = data.sheets()[0] names = data.sheet_names() # 返回book中所有工作表的名字 status = data.sheet_loaded(names[0]) # 检查sheet1是否导入完毕 nrows = table.nrows # 获取该sheet中的有效行数 for i in range(0, nrows): s = table.row_values(i) # 第1列数据 student = Student.query.filter_by(email=s[5]).first() if student: continue student = Student.query.filter_by(id=s[3]).first() if student: continue with db.auto_commit(): # name password programme id gpa email contribution try: student = Student(s[0], s[4], s[3], s[5], s[2], s[1]) # 数据库的insert操作 db.session.add(student) except: continue student = Student.query.filter_by(email=s[5]).first() if student is not None: with db.auto_commit(): courseAndStudent = CourseAndStudent() courseAndStudent.CourseId = courseId courseAndStudent.studentId = student.id db.session.add(courseAndStudent) return render_template("teacher_templates/importclassinfo.html", message="添加成功", courseId=courseId, name=name)
def delete_group(arg_id): gr = Group.get_by_id(arg_id) oldname = gr.groupname stud_in_gr = Student.stud_select(arg_id) if len(stud_in_gr) == 1 and stud_in_gr[0][0] == 0: result = Group.delete_by_id(arg_id) if result != 0: req = f'группа {oldname} успешно удалена' else: req = 'Невозможно удалить группу т.к. в ней есть студенты: ' st = '' for s in stud_in_gr: if s[0] != 0: st = f'{st} {s[1]}; ' req = f'{req} {st} ' return req
def post(self): response = {} session = main_db.session student_name = request.form["student_name"] admission_grade = request.form["student_grade"] project_name = request.form["student_name"] project_image = request.form["student_image"].encode() content = request.form["content"] new_student = Student(student_name, admission_grade, project_name, project_image, content) session.add(new_student) session.commit() session.refresh(new_student) response["msg"] = "Success" return response, 200
def csv_import(cls, reader): for row in csv.DictReader(reader): school = School.key_for_sis_id(row['school_id']) student_id = row['student_id'] if Student.query(Student.sis_id == student_id).count() == 0: logging.warn("no such student %s" % student_id) continue teacher_id = row['teacher_id'] if Teacher.query(Teacher.sis_id == teacher_id).count() == 0: logging.warn("no such teacher %s" % teacher_id) continue enrollment = cls( parent=school, student_id=student_id, teacher_id=teacher_id, course_id=row['course_id'], section_id=row['section_id'], period=row['period'], is_homeroom=bool_from_string(row['homeroom']), is_active=True ) enrollment.put() logging.info("inserted enrollment: %s" % row)
def upsert_student_level_attentiveness(student_id, observed_at, session, param): student = Student.objects(school_id=student_id).first() if student: # print(student_id, observed_at, session, param) ssp = SessionPulseStudent.objects( Q(student=student) & Q(session=session) & Q(datetime_sequence=observed_at)) if not ssp: ssp_obj = SessionPulseStudent() ssp_obj.session = session ssp_obj.datetime_sequence = observed_at ssp_obj.student = student ssp_obj.attentiveness = param ssp_obj.save() else: ssp_obj = ssp.first() ssp_obj.attentiveness = param ssp_obj.save() # print("attentiveness", ssp_obj.session, ssp_obj.datetime_sequence, ssp_obj.student, ssp_obj.attentiveness) else: print("Unrecognised student", student_id)
def populate(populate): """ Populate the database """ skills = ["Javascript", "HTML", "CSS", "SASS", "PHP", "Python"] for name in skills: skill = Skill(name=name) db.session.add(skill) student_1 = Student(name="Lucia", last_name="Cardenas", age=18, email="*****@*****.**") student_2 = Student(name="Maria Gracia", last_name="Silva", age=22, email="*****@*****.**") db.session.add_all([student_1, student_2]) company = Company(name="Athelas", address="Recavarren esquina con pardo", phone="+51961738608", website="https://www.athelas.pe") db.session.add(company) company2 = Company(name=u"Lucuma Labs", address="Cerca al faro de miraflores", phone="+511 681 0041", website="https://lucumalabs.com/") db.session.add(company2) company3 = Company(name=u"Codepicnic", address="Por todo el mundo", phone="+48652689522", website="https://codepicnic.com/") db.session.add(company3) db.session.commit() skills = db.session.query(Skill).all() company.skills.append(skills[0]) company.skills.append(skills[1]) company.skills.append(skills[2]) company.skills.append(skills[3]) company2.skills.append(skills[4]) company2.skills.append(skills[5]) company2.skills.append(skills[1]) company3.skills.append(skills[3]) company3.skills.append(skills[5]) company3.skills.append(skills[1]) student_1.skills.append(skills[0]) student_1.skills.append(skills[1]) student_1.skills.append(skills[2]) student_2.skills.append(skills[0]) student_2.skills.append(skills[1]) student_2.skills.append(skills[2]) student_2.skills.append(skills[3]) db.session.commit()
def find_workout_by_user_id(user_id): student = Student.objects(user_id=user_id).first() return student.workouts_ids[0].to_json()
def add_workout_post(): data = request.json s = Student.objects(user_id=ObjectId(data["user_id"])).first() s.add_workout(json_to_workout_obj(data)) return "ok"
def add_workout_id_post(): data = request.json s = Student.objects(user_id=ObjectId(data["user_id"])).first() s.add_workout(find_workout_by_id(data["id"])) return "ok"
from app.models.teacher import Teacher from app.models.student import Student from app.models.course import Course from app.models.exam import Exam db.drop_all() db.create_all() teacher = Teacher() teacher.name = 'Ömer Çulha' teacher.email = '*****@*****.**' teacher.phone = '0000 000 00 00' teacher.generate_password_hash('123456') db.session.add(teacher) student = Student() student.name = 'Yunus Emre' student.email = '*****@*****.**' student.phone = '0000 000 00 00' student.grade_level = 1 student.parent_code = "11111111111" student.generate_password_hash('123456') db.session.add(student) course = Course() course.name = 'Fen Bilgisi' course.grade_level = 1 course.teacher = teacher course.price = "25" db.session.add(course)