def admin_files(filename): u = User(ADMIN) if u.isadminsession() and filename in PATHNAMES: data = open(PATHNAMES[filename],'r').read() return render_template('editfile.html', filename=filename, data=data) else: return redirect(url_for('site_main'))
def site_user(name): u = User(name) if u.isadminsession() or u.authenticated(): return render_template('user.html', title=u.longname, user=u ) elif not u.passhash: return redirect(url_for('site_getnewpass', name=name)) elif not u.authenticated(): return redirect(url_for('site_authenticate', name=name)) else: return redirect(url_for('site_users'))
def site_userchallengedownload(username, challengename): u = User(username) if not u.authenticated() and not u.isadminsession(): return redirect(url_for('site_authenticate', name=username)) c = u.challenge(challengename) rv = app.make_response(c.testcode) #rv.headers.add_header('Content-Disposition: attachment', 'filename=' + u.shortname + c.testname + '.py') rv.headers.add('Content-Disposition','attachment', filename=u.shortname + c.testname + '.py') rv.mimetype = 'text/plain' return rv
def admin_filessubmit(filename): u = User(ADMIN) if u.isadminsession() and filename in PATHNAMES: data = request.form['data'] open(PATHNAMES[filename],'w').write(data) return redirect(url_for('site_main'))
def site_userchallenge(username, challengename): u = User(username) c = u.challenge(challengename) if not u.authenticated() and not u.isadminsession(): return redirect(url_for('site_authenticate', name=username)) return render_template('userchallenge.html', title=u.longname+' - '+c.testname, user=u, challenge=c)