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)