DotaNoobs main site.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

117 lines
2.7 KiB

import re
from flask import render_template, flash, redirect, g, request, url_for, session
from app import app, db, oid
from models import User
from utils import get_steam_userinfo
from board import latest_news
@app.before_request
def before_request():
g.user = None
if 'user_id' in session:
g.user = User.query.get(session['user_id'])
@app.route('/')
@app.route('/main')
def index():
return render_template("index.html", latest_news=latest_news())
@app.route('/login')
@oid.loginhandler
def login():
if g.user is not None:
return redirect(oid.get_next_url())
return oid.try_login('http://steamcommunity.com/openid')
@oid.after_login
def create_or_login(resp):
match = app.config['STEAM_ID_RE'].search(resp.identity_url)
g.user = User.get_or_create(match.group(1))
steamdata = get_steam_userinfo(g.user.steam_id)
g.user.nickname = steamdata['personaname']
g.user.avatar = steamdata['avatar']
db.session.commit()
session['user_id'] = g.user.id
flash("You are logged in as {}".format(g.user.nickname))
return redirect(oid.get_next_url())
@app.route('/logout')
def logout():
session.pop('user_id', None)
return redirect(oid.get_next_url())
@app.template_filter('shorten')
def shorten_filter(s, num_words=20):
space_iter = re.finditer('\s+', s)
output = u''
while num_words > 0:
match = space_iter.next()
if not match: break
output = s[:match.end()]
num_words -= 1
else:
output += '...'
return output
### TEMPORARY ###
@app.route('/teamspeak')
def teamspeak():
return "Teamspeak!"
@app.route('/list_events')
def list_events():
return "Events list!"
@app.route('/friends')
def friends():
return render_template('friends.html')
@app.route('/community')
def community():
return "Community!"
@app.route('/ladder')
def ladder():
return "Ladder!"
'''
from flask import render_template, flash, redirect, g, request, url_for
from app import app, oid
@app.route('/login')
@oid.loginhandler
def login():
if g.user is not None:
return redirect(oid.get_next_url())
return oid.try_login('http://www.steamcommunity.com/openid')
@oid.after_login
def check_login(resp):
match = app.config['STEAM_ID_RE'].search(resp.identity_url)
return "none"
@app.route('/')
def main():
return render_template('main.html')
@app.route('/community')
def community():
return render_template('community.html', latest_posts=latest_posts())
@app.route('/friends')
def friends():
return render_template('friends.html')
@app.route('/teamspeak')
def teamspeak():
return render_template('teamspeak.html')
@app.route('/events')
def list_events():
return render_template('events.html')
@app.route('/events/<int:id>')
def event_summary(id):
return render_template('events.html')
@app.route('/ladder')
def ladder():
return render_template('ladder.html')
'''