def admin(): form = ProfessorForm() form2 = CollegeForm() if form.add_professor.data and form.validate_on_submit(): professor = Professor(first_name=form.first_name.data, last_name=form.last_name.data, department=form.department.data, college=College.query.filter_by( college_acronym=form.college.data).first()) db.session.add(professor) db.session.commit() flash('Professor Added') return redirect(url_for('professor', profname=professor.first_name)) if form2.add_college.data and form2.validate_on_submit(): college = College(college_name=form2.college_name.data, college_acronym=form2.college_acronym.data, state=form2.state.data) db.session.add(college) db.session.commit() flash('College Added') return redirect(url_for('main')) return render_template("admin.html", form=form, form2=form2, title='Admin')
def major_approve(): if g.user.get_name() != 'sndnyang': abort(404) no = request.json.get('id', None) action = str(request.json.get('type', None)) if not no or not action: return json.dumps({'error': '%s %s not right' % (no, action)}, ensure_ascii=False) app.logger.debug(no + ' ' + action) try: college = TempCollege.query.get(no) if action == 1: db.session.delete(college) else: result = College.query.filter_by( name=college.name, major=college.major, degree=college.degree).one_or_none() if result is None: result = College(college.name, college.degree, college.major, college.site_url, college.program_name) result.set(college) db.session.add(result) else: result.set(college) db.session.delete(college) db.session.commit() return json.dumps({'info': 'success'}, ensure_ascii=False) except Exception, e: app.logger.debug(traceback.print_exc())
def college_ratings_create(username: str): schema = Schema({ "collegename": And(str, len, error="No College Name"), "academics": And(str, len, error="No Academics"), "athletics": And(str, len, error="No Athletics"), "dorms": And(str, len, error="No Dorms"), "dining": And(str, len, error="No Dining"), "username": And(str, len, error="No Username") }) form = { "collegename": request.json.get("collegename"), "academics": request.json.get("academics"), "athletics": request.json.get("athletics"), "dorms": request.json.get("dorms"), "dining": request.json.get("dining"), "username": request.json.get("username") } print(request.json) print(form) validated = schema.validate(form) #print(validated) #user = User.objects(username=username).first() post = College(collegename=validated["collegename"], academics=validated["academics"], athletics=validated['athletics'], dorms=validated["dorms"], dining=validated["dining"], username=validated["username"]).save() print(post) return jsonify(post.to_public_json())
def add_college(): if request.method == "POST": name = request.form.get('name') app_deadline = request.form.get('app_deadline') rec_deadline = request.form.get('rec_deadline') num_essays = request.form.get('num_essays') midyear_report = request.form.get('midyear_report') acceptance_rate = request.form.get('acceptance_rate') platform = request.form.get('platform') try: college = College( name=name, app_deadline=app_deadline, rec_deadline=rec_deadline, num_essays=num_essays, midyear_report=midyear_report, acceptance_rate=acceptance_rate, platform=platform, ) if request.form.get('name') == "": raise ValueError( 'There is no name specified for the college. Please try again with a name.' ) else: db.session.add(college) db.session.commit() except ValueError as v: flash(str(v)) return redirect('/') except Exception as e: return str(e) return redirect('/') else: return render_template("college.html")
def parse_colleges(): if len(colleges) != 0: logger.error("colleges list existed, ignore parsing") return hao123_parser = Hao123_211_Parser(Config.C211_URL) if hao123_parser.run(): for item in hao123_parser.rlist: college = College(item['href'], item.string) colleges.append(college) print("href:%s" % item['href'])
def csv_to_colleges(): with open(path_of(Config.COL_CSV_FILE), 'rb') as csvfp: fieldnames = ['name', 'eng_name', 'url'] reader = csv.DictReader(csvfp, fieldnames=fieldnames, delimiter=',', quotechar='|', quoting=csv.QUOTE_MINIMAL) for row in reader: colleges.append(College(row['url'], row['name'], row['eng_name'])) csvfp.close() logger.info("All %d colleges laod from to %s done" % (len(colleges), path_of(Config.COL_CSV_FILE)))
def home(): colleges = None if request.form: try: #db.session.query(College).delete() college = College(schoolname=request.form.get("schoolname")) db.session.add(college) db.session.commit() except SQLAlchemyError: flash("Failed to add college, as it might be a duplicate") return redirect(url_for('home')) colleges = College.query.all() return render_template("home.html", colleges=colleges)
def create_college(): """ Allows admin to create Promo Code for User's discount :param college_name: :param college_logo: :return: """ req = request.get_json() try: college = College(**req) db.session.add(college) db.session.commit() return "" except exc.IntegrityError: return Error('College already exists', 400)()
def post(self, request): """ Create college record in database :param request: Key value pair data :return: status & respective message """ data = request.data course_ids = None if "course_ids" in data: course_ids = data["course_ids"] data.pop("course_ids") try: college = College(**data) college.save() LOGGER.info("College created successfully") except Exception, error: LOGGER.error("Error:%s", str(error)) return Response({"status": "FAILED", "message": str(error)})
def college(): # Display all of the properties on the page # Query the database to get the vote counts for each attribute of this college # Display the page if request.method=="GET": # Calculate all of the return render_template("college.html") #Get the college page and dislay if request.form: try: #db.session.query(College).delete() college = College(schoolname=request.form.get("schoolname")) db.session.add(college) db.session.commit() except SQLAlchemyError: flash("Failed to add college, as it might be a duplicate") return redirect(url_for('home')) college = College.query.all() return render_template("college.html", college=college)
def create_inst(): if request.method == "GET": return render_template('register.html') if request.method == "POST": print(request.form) name = request.form["name"] email = request.form["email"] password = request.form["password"] # confirm_password = request.form["confirm_password"] option = {1: 'school', 2: 'college'}[int(request.form['option'])] # if not confirm_password == password: # return redirect(url_for('.home_page')) if option == 'school': new_school = School(name, email, password) db_session.add(new_school) db_session.commit() log('School created') elif option == 'college': new_college = College(name, email, password) db_session.add(new_college) db_session.commit() log('College Created') return redirect(url_for('.home_page'))
def submitted_major(): verification_code = request.form['verification_code'] code_text = session['code_text'] if verification_code != code_text: return json.dumps({'error': u'验证码错误'}, ensure_ascii=False) code_img, code_string = create_validate_code() session['code_text'] = code_string try: cid = request.form['id'] name = request.form['name'] degree = request.form['degree'] major = request.form['major'] program_name = request.form['program_name'] site_url = request.form['site_url'] if not name or not degree or not major: return json.dumps({'error': u'关键信息缺失'}, ensure_ascii=False) result = College.query.get(cid) if result is None: result = College.query.filter_by( name=name, major=major, degree=degree, program_name=program_name).one_or_none() if result is None: if g.user and g.user.is_authenticated and g.user.get_name( ) == 'sndnyang': college = College(name, degree, major, site_url, program_name) else: college = TempCollege(name, degree, major, site_url, program_name) else: college = result college.program_name = program_name college.gpa = request.form['gpa'] if request.form['gpa'] else 6.6 college.gpa_url = request.form['gpa_url'] college.tuition = request.form['tuition'] if request.form[ 'tuition'] else 66666 college.tuition_url = request.form['tuition_url'] college.deadline_url = request.form['deadline_url'] college.fall = request.form['fall'] college.spring = request.form['spring'] college.gre = request.form['gre'] college.gre_url = request.form['gre_url'] college.toefl = request.form['toefl'] if request.form['toefl'] else 6.6 college.ielts = request.form['ielts'] if request.form['ielts'] else 6.6 college.eng_url = request.form['eng_url'] college.rl = request.form['rl'] college.evalue = request.form['evalue'] college.finance = request.form['finance'] college.docum_url = request.form['docum_url'] college.int_docum_url = request.form['int_docum_url'] info = {} l = (len(request.form.keys()) - 23) / 2 for i in range(l): info['label%d' % i] = request.form.get('label%d' % i, '') info['input%d' % i] = request.form.get('input%d' % i, '') college.info = info if result is None: db.session.add(college) db.session.commit() except Exception, e: app.logger.debug(traceback.print_exc()) return json.dumps({'error': u'错误'}, ensure_ascii=False)
def populate_tables(data): # skip column names next(data) for row in data: name = row[NAME] state = row[STATE] lon = row[LON] lat = row[LAT] in_state = row[IN_STATE] out_state = row[OUT_STATE] book = row[BOOK] on_campus = row[ON_CAMPUS] off_campus = row[OFF_CAMPUS] aid = row[AID] instruction = row[INSTRUCTION] research = row[RESEARCH] public = row[PUBLIC] academic = row[ACADEMIC] other = -1 # must haves if not (name and state and lon and lat and (in_state or out_state) and book and (on_campus or off_campus)): print 'missing crucial column for row: {}'.format(row) continue # fix tuition in_state = in_state or (int(out_state) - 5325) out_state = out_state or (int(in_state) + 6382) # fix housing on_campus = on_campus or (int(off_campus) + 1356) off_campus = off_campus or (int(on_campus) - 1456) # fix aid aid = aid or randint(2000, 10000) # fix expenditures instruction = instruction or randint(1, 10) research = research or randint(1, 10) public = public or randint(1, 10) academic = academic or randint(1, 10) # format name = str(name) state = str(state) lon = float(lon) lat = float(lat) in_state = int(in_state) out_state = int(out_state) book = int(book) on_campus = int(on_campus) aid = int(aid) instruction = int(instruction) research = int(research) public = int(public) academic = int(academic) other = 100 - (instruction + research + public + academic) try: # add to college college = College(name, state, lat, lon) db.session.add(college) db.session.commit() # necessary for foreign key college_id = college.id # add to student_expense student_expense = StudentExpense(college_id, in_state, out_state, book, on_campus, off_campus, aid) db.session.add(student_expense) db.session.commit() # add to college_expense college_expense = CollegeExpense(college_id, instruction, research, public, academic, other) db.session.add(college_expense) db.session.commit() except Exception as e: print e db.session.rollback()
'level': 3 }, { "question": "实体完整性是指关系中的____ 不允许取空值。", "answer": ["主键"], "level": 3 }], "解答题": [{ "question": "", "answer": "", "level": 2 }] } } college_code = 9 for college_name in students_data.keys(): college = College() college.name = college_name db.session.add(college) college_code += 1 major_code = 9 print(college_name) for major_name in students_data[college_name].keys(): major = Major() major.name = major_name college.majors.append(major) major_code += 1 print(major_name) for grade in students_data[college_name][major_name].keys(): print(grade) for class_code in range(10, 15): class_name = grade + "级" + major_name + str(class_code) + "班"
from models import db, Student, Book, College stud1 = Student("Yashika") stud2 = Student("Ram") db.session.add_all([stud1, stud2]) db.session.commit() print(Student.query.all()) stud1 = Student.query.filter_by(name="Ram").first() #create college of this stud college1 = College("SKIT", stud1.id) # some books of stud book1 = Book("DBMS", stud1.id) book2 = Book("MATHS", stud1.id) db.session.add_all([college1, book1, book2]) db.session.commit() # Grab this stud after those additions stud1 = Student.query.filter_by(name='Ram').first() print(stud1)