def sign_in(): if logged_in(): return redirect(url_for('index')) if request.method == 'GET': return render_template('sign_in.html') # POST username, password = [request.form[x] for x in ['username', 'password']] #login in with sysujwxt module here success, result = sysujwxt.login(username, password) if success: flash(u'登录成功', 'success') info_success, info_result = sysujwxt.get_info(result) if info_success: info = re.match( r'.+"xm":"(?P<name>.+?)".+"xymc":"(?P<school>.+?)".+"zyfxmc":"(?P<major>.+?)"', info_result) name, school, major = info.groups() # set cookie here next_url = request.args.get('next', '/') response = make_response(redirect(next_url)) response.set_cookie('sno', username, SESSION_TIMEOUT) response.set_cookie('name', name, SESSION_TIMEOUT) response.set_cookie('school', school, SESSION_TIMEOUT) response.set_cookie('major', major, SESSION_TIMEOUT) response.set_cookie('JSESSIONID', result, SESSION_TIMEOUT) return response elif info_result == 'timeout' or info_result == 'expired': flash(u'= =哦希特, 貌似学校的系统挂了,换个时间再来试试吧', 'info') return render_template('sign_in.html', username=username) elif result == 'timeout': flash(u'= =哦希特, 貌似学校的系统挂了,换个时间再来试试吧', 'info') return render_template('sign_in.html', username=username) elif result == 'errorpass': flash(u'密码错误', 'error') return render_template('sign_in.html', username=username)
def sign_in(): if logged_in(): return redirect(url_for('index')) if request.method == 'GET': return render_template('sign_in.html') # POST username, password = [request.form[x] for x in ['username', 'password']] #login in with sysujwxt module here success, result = sysujwxt.login(username, password) if success: flash(u'登录成功', 'success') info_success, info_result = sysujwxt.get_info(result) if info_success: info = re.match(r'.+"xm":"(?P<name>.+?)".+"xymc":"(?P<school>.+?)".+"zyfxmc":"(?P<major>.+?)"', info_result) name, school, major = info.groups() # set cookie here next_url = request.args.get('next', '/') response = make_response(redirect(next_url)) response.set_cookie('sno', username, SESSION_TIMEOUT) response.set_cookie('name', name, SESSION_TIMEOUT) response.set_cookie('school', school, SESSION_TIMEOUT) response.set_cookie('major', major, SESSION_TIMEOUT) response.set_cookie('JSESSIONID', result, SESSION_TIMEOUT) return response elif info_result == 'timeout' or info_result == 'expired': flash(u'= =哦希特, 貌似学校的系统挂了,换个时间再来试试吧', 'info') return render_template('sign_in.html', username=username) elif result == 'timeout': flash(u'= =哦希特, 貌似学校的系统挂了,换个时间再来试试吧', 'info') return render_template('sign_in.html', username=username) elif result == 'errorpass': flash(u'密码错误', 'error') return render_template('sign_in.html', username=username)
def get_info(): sno = request.cookies.get('sno') cookie = request.cookies.get('JSESSIONID') _, result = sysujwxt.get_info(cookie.encode('ascii')) return result