def updateStudent(idNum): cur = mysql.connection.cursor() cur.execute("SELECT * FROM Student WHERE idNum = %s", [idNum]) row = cur.fetchone() form = UpdateStudent(request.form) if request.method == 'POST' and form.validate(): courseId = request.form['courseId'] firstName = request.form['firstName'] middleName = request.form['middleName'] lastName = request.form['lastName'] sex = request.form['sex'] student = models.Student(idNum=idNum, courseId=courseId, firstName=firstName, middleName=middleName, lastName=lastName, sex=sex) student.update() cur.close() flash('Successfully Updated', 'success') return render_template('updateStudent.html', form=form, row=row) return render_template('updateStudent.html', form=form, row=row)
def loginUser(self, User): isNoob = 0 std_query = db.GqlQuery("SELECT * FROM Student WHERE user = :1", User).fetch(1) student = {} if len(std_query) == 0: try: url = "https://mcommunity.umich.edu/mcPeopleService/people/" + User.nickname( ) result = urlfetch.fetch(url) info = json.loads(result.content) studentName = info['person']['displayName'] except: studentName = User.nickname() student = models.Student(user=User, courses=[], reminders=[], major="", advisor_email="", name=studentName, calID="") logging.warning(student) student.put() isNoob = 1 else: student = std_query[0] logging.warning(models.serialize(student)) context = { 'name': student.name, 'email': student.user.email(), 'major': student.major, 'advisor_email': student.advisor_email, 'logoutUrl': users.create_logout_url("/"), 'achievement': 89, 'noob': isNoob, 'admin': users.is_current_user_admin() } self.render_response('index.jade', **context) # create the courses calendar asynchronously if student.calID is None or student.calID == "": logging.warning('student calID is empty') calendar = utils.createCal() request = service.calendars().insert(body=calendar) created_cal = request.execute(http=decorator.http()) student.calID = created_cal["id"] else: logging.warning('student cal id already exists, it is %s' % student.calID) student.put()
def list_all_students(): """Lists all registered students.""" students = models.Student.query() form = forms.NewStudentForm() graduation_year = -1 try: graduation_year = int(graduation_year) except ValueError: pass if form.validate_on_submit(): print "Hi there" student = models.Student(name=form.name.data, email=form.email.data, graduation_year=graduation_year, preferences=form.preferences.data) try: student.put() student_id = student.key.id() flash(u'Student {} successfully saved.'.format(student_id), 'success') return redirect(url_for('list_all_students')) except CapabilityDisabledError: flash(u'App Engine Datastore is currently in read-only mode.', 'error') return redirect(url_for('list_all_students')) return render_template('list_students.html', students=students, form=form)
def searchGet(): search = request.form['search'] if request.method == 'POST': con = sql.connect("studentdb.db") cur = con.cursor() cur.execute( "SELECT * FROM students where idnum = ? or fname = ? or mname = ? or lname = ? or sex=? or courseid = ?", (search, search, search, search, search, search)) if cur.fetchone() is None: flash('Student Not in record or Letter capitalization incorrect', 'error') return render_template("studentDatabase.html") else: student = models.Student(idnum=search, fname=search, mname=search, lname=search, sex=search, courseid=search) studs = student.search() return render_template("print.html", studs=studs) else: return render_template("studentDatabase.html")
def deletepage(): form = iDnumForm(request.form) con = sql.connect("studentdb.db") cur = con.cursor() if request.method == 'POST': idnumNew = form.idnumNew.data cur.execute("SELECT * FROM students WHERE idnum = ?", (idnumNew, )) if cur.fetchone() is None and form.validate(): flash('Student not found', 'error') return render_template("delete.html", form=form) elif form.validate() and cur.fetchone is not None: student = models.Student(idnum=idnumNew, fname="", mname="", lname="", sex="", courseid="") student.delete() flash('Student Successfully deleted', 'success') return render_template("delete.html", form=form) elif not form.validate(): flash('error in delete operation', 'error') return render_template("delete.html", form=form) else: return render_template("delete.html", form=form)
def adder(): form = Forms(request.form) if request.method == 'POST': con = sql.connect("studentdb.db") cur = con.cursor() idnumNew = form.idnumNew.data fnameNew = form.fnameNew.data mnameNew = form.mnameNew.data lnameNew = form.lnameNew.data sexNew = form.sexNew.data courseidNew = form.courseidNew.data cur.execute("SELECT * FROM students WHERE idnum = ?", (idnumNew,)) if cur.fetchone() is not None: flash('Id number already taken', 'error') return render_template("add.html", form=form) elif not form.validate(): flash("Please don't leave any blank", 'error') return render_template("add.html", form=form) elif form.validate(): student = models.Student(idnum = idnumNew, fname = fnameNew, mname = mnameNew, lname = lnameNew, sex = sexNew,courseid = courseidNew) student.add() flash('Student successfully added', 'success') return render_template("studentDatabase.html") else: return render_template("add.html", form=form) con.close()
def deleteStudent(idNum): student = models.Student(idNum=idNum, courseId="", firstName="", middleName="", lastName="", sex="") student.delete() flash('Successfully Deleted', 'success') return render_template('deleteSuccess.html')
def update_student(db:Session, student_id: int, student: schema.StudentBase): ###delete step name_add = student.name class_id_add = student.class_id delete_student(db = db, student_id = student_id) ###adding step db_student = models.Student(id=student_id, name=name_add, class_id=class_id_add) db.add(db_student) db.commit() db.refresh(db_student)
def post(self): student = models.Student() student.id = request.json.get('id') student.password = request.json.get('password') student.name = request.json.get('name') if student.id is not None and student.password is not None: db.session.add(student) db.session.commit() return {}, HTTP_Created else: return get_shortage_error_dic('name id password'), HTTP_Bad_Request
def post(self): periodKey = self.request.get('period') period = models.Period.get(periodKey) names = self.request.get('names').split('\n') logging.info('names = ' + str(names)) students = [] for name in names: student = models.Student(name=name, period=period) student.put() students.append(student) #self._return_json(students) self.redirect('/app/index.html#periods/' + periodKey) #TODO: This is VERY inelegant
def evaluate(model_type='teacher', prefix='teacher'): if model_type == 'teacher': model = models.Teacher() elif model_type == 'student': model = models.Student() model_paths = [] for epoch_count in range(0, 3000, 100): model_paths.append( os.path.join(BASE_DIR, '{}-{}.pth'.format(prefix, epoch_count))) model_paths.append(os.path.join(BASE_DIR, '{}.pth'.format(prefix))) # Get test data dataset = torchvision.datasets.MNIST( '../mnist', train=False, download=True, transform=torchvision.transforms.Compose([ torchvision.transforms.ToTensor(), torchvision.transforms.Normalize((0.1307, ), (0.3081, )) ])) # Create data loader batch_size = 10000 data_loader = torch.utils.data.DataLoader(dataset, batch_size=batch_size, shuffle=False) error_counts = np.zeros(shape=len(model_paths), dtype=np.int32) for model_count, model_path in enumerate(model_paths): model.load_state_dict(torch.load(model_path)) model.eval() model = model.cuda() error_count = 0 for x, y_gt in data_loader: # Preprocess input x = x.flatten(start_dim=1, end_dim=-1) x = x.cuda() y_gt = y_gt.cuda() # Predict label y_pred = model(x) with torch.no_grad(): y_pred = torch.argmax(y_pred, dim=1) error_count += batch_size - torch.eq(y_pred, y_gt).sum() error_counts[model_count] = error_count print('{}-{}: {}'.format(prefix, model_count, error_count)) return error_counts
def test_students(test_db): test_db.query(models.Student).delete() test_db.flush() test_db.commit() insert_student( test_db, models.Student( firstName="Cynthia", lastName="Henderson", dateOfBirth=date(2000, 1, 2), schoolGrade=6, average=60, ), ) insert_student( test_db, models.Student( firstName="Marilyn", lastName="Snyder", dateOfBirth=date(2001, 2, 3), schoolGrade=8, average=70, ), ) insert_student( test_db, models.Student( firstName="David", lastName="Dandrea", dateOfBirth=date(2002, 3, 4), schoolGrade=8, average=80, ), ) return test_db.query(models.Student).all()
def classView(): # print("HEREEEE", request.files) if (request.method == 'POST'): if 'csvFile' not in request.files: print("not in request.files") return redirect(request.url) print("RIGHT HERE") csv_file = request.files['csvFile'] decoded_file = csv_file.read().decode('utf-8') io_string = io.StringIO(decoded_file) students = [] grades = [] assignments = models.Assignment.query.all() for row in csv.reader(io_string, delimiter=';', quotechar='|'): print(row) studentList = row[0].split(',') try: student = models.Student(student_id=studentList[0], first_name=studentList[1], last_name=studentList[2], email=studentList[3], password=studentList[4]) students.append(student) except Exception as e: print(e) print('Couldnt add student into database') for assignment in assignments: try: grade = models.StudentGrade( student_id=student.student_id, assignment_id=assignment.assignment_id) grades.append(grade) except Exception as e: print(e) print('Couldnt put grade into database') db.session.add_all(students + grades) db.session.commit() students = models.Student.query.order_by( models.Student.first_name).all() return render_template('class.html', students=students) elif (request.method == 'GET'): students = models.Student.query.order_by( models.Student.first_name).all() return render_template('class.html', students=students)
def createUser(): name = request.args.get('name') email = request.args.get('email') year = request.args.get('year') major = request.args.get('major') year = year[-1] year = int(year) if (year == 0): year -= 10 if (name and email and year and major): while db.session.query(models.Student).filter_by(student_id=lastIds[year]).first(): lastIds[year] = (lastIds[year] + 10) % 10 newUser = models.Student(name=name, email=email, student_id=lastIds[year], major=major) db.session.add(newUser) db.session.commit() # lastIds[year]+=10 return str(lastIds[year]) return "Need to give name, user, year, and major, but not all inputs were given"
def addStudent(): form = AddStudent(request.form) if request.method == 'POST' and form.validate(): idNum = form.idNum.data courseId = form.courseId.data firstName = form.firstName.data middleName = form.middleName.data lastName = form.lastName.data sex = form.sex.data student = models.Student(idNum=idNum, courseId=courseId, firstName=firstName, middleName=middleName, lastName=lastName, sex=sex) student.add() flash('A student has been successfully added.', 'success') return render_template('addStudent.html', form=form)
def new_f(*args, **kwargs): user = users.get_current_user() if not ops.__student_exists(user.user_id()): s = models.Student(student_id=user.user_id()) GER_SHEET_NAME = "GERs" gerSheet = models.Program_Sheet.query( models.Program_Sheet.ps_name == GER_SHEET_NAME).get() studentGerSheet = models.Student_Program_Sheet( program_sheet=gerSheet.key, cand_courses=[], allow_double_count=True) studentGerSheet.put() splan = models.Student_Plan(student_plan_name="DefaultPlan", student_course_list=[], program_sheets=[studentGerSheet.key]) splan.put() s.academic_plans.append(splan.key) s.put() f(*args, **kwargs)
def update_student(p): print "Updating {}".format(p['username']) print "{} = {}".format(p['username'], p['params']) data['students'][p['username']] = m.Student(**p['params']) save_data()
def create_student(db: Session, student: schema.Student): db_student = models.Student(id = student.id, name = student.name, class_id = student.class_id) db.add(db_student) db.commit() db.refresh(db_student)
# -*- coding:utf-8 -*- # Project: SQLALchemy # Software: PyCharm # Time : 2018-09-22 16:15 # File : 7.练习.py # Author : 天晴天朗 # Email : [email protected] from sqlalchemy.orm import sessionmaker from sqlalchemy import create_engine, text import models engine = create_engine("mysql+pymysql://root:Tqtl911!@%*)@mysql.cuixiaozhao.com:3306/flask_session?charset=utf8") maker = sessionmaker(bind=engine) session = maker() obj = models.Student(username='******', password='******', class_id=2) session.add(obj) # 在学生表中找到崔晓丝; obj1 = session.query(models.Student).filter(models.Student.username == '崔晓丝').first() print(obj1) # <models.Student object at 0x108762a90> # 找到所有学生; # 1、LOW B查询方式; # objs = session.query(models.Student).all() # for obj in objs: # cls_obj = session.query(models.Classes).filter(models.Classes.id ==obj.class_id).first() # print(obj.id,obj.username,obj.class_id,cls_obj.name) # 2、主动连表操作; objs = session.query(models.Student.id, models.Student.username, models.Classes.name).join(models.Classes, isouter=True).all() print(objs)
def getStudent(reg_no): q = models.Student().all().filter('password =', reg_no) row = q.fetch(1) return row
def create_class_student(db: Session, item: schema.StudentCreate, class_id: int): db_student = models.Student(**student.dict(), class_id=class_id) db.add(db_student) db.commit() db.refresh(db_student) return db_student
def AddStudent(department, email): row = models.Student(key_name=email) row.username = getUserNameFromMail(email) row.response_flag = '1' row.department = department row.put()
async def create_student( student: schemas.StudentCreate, db: Session = Depends(get_db), current_user: models.User = Depends(get_current_user), ): return insert_student(db, models.Student(**student.dict()))
def create_student(p): print "Creating student {}".format(p['username']) data['students'][p['username']] = m.Student(name=p['username'], **p['params']) save_data()
session.add_all([col1, col2, col3]) #插入班级 cla1 = models.Classes(class_id = 1604, collage = 1) cla2 = models.Classes(class_id = 1605, collage = 1) cla3 = models.Classes(class_id = 1607, collage = 1) cla4 = models.Classes(class_id = 1604, collage = 2) cla5 = models.Classes(class_id = 1605, collage = 2) cla6 = models.Classes(class_id = 1607, collage = 3) session.add_all([cla1,cla2,cla3,cla4,cla5,cla6]) #插入课程 sub1 = models.Subject(name = 'math', teacher = 1) sub2 = models.Subject(name = 'English', teacher = 1) sub3 = models.Subject(name = 'Chinese', teacher = 1) session.add_all([sub1,sub2,sub3]) #插入学生 stu1 = models.Student(name = 'fty1', classes = 1, password = '******') stu4 = models.Student(name = 'fty2', classes = 1, password = '******') stu2 = models.Student(name = 'xjh', classes = 2, password = '******') stu3 = models.Student(name = 'cw', classes = 3, password = '******') stu5 = models.Student(name = 'lh', classes = 4, password = '******') session.add_all([stu1,stu2,stu3,stu4,stu5]) #插入老师 tea1 = models.Teacher(name = 'a', collage = 1, password = '******') tea2 = models.Teacher(name = 'b', collage = 1, password = '******') tea3 = models.Teacher(name = 'c', collage = 1, password = '******') tea4 = models.Teacher(name = 'd', collage = 2, password = '******') tea5 = models.Teacher(name = 'e', collage = 2, password = '******') tea6 = models.Teacher(name = 'f', collage = 3, password = '******') session.add_all([tea1,tea2,tea3,tea4, tea5,tea6]) session.commit()
def load_data(): global data data = json.load(open(os.path.join(os.path.dirname(__file__), 'data.json'))) data['students'] = {s['name']:m.Student(**s) for s in data['students']} data['users'] = {u['name']:m.User(**u) for u in data['users']} data['interactions'] = map(lambda i: m.Interaction(**i), data['interactions'])