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.

110 lines
2.7 KiB

  1. from flask import render_template, flash, redirect, g, request, url_for, session
  2. from app import app, db, oid, cache
  3. from models import User
  4. from utils import get_steam_userinfo
  5. from board import latest_news
  6. @app.before_request
  7. def before_request():
  8. g.user = None
  9. if 'user_id' in session:
  10. g.user = User.query.get(session['user_id'])
  11. @app.route('/')
  12. @app.route('/main')
  13. def index():
  14. return render_template("index.html", latest_news=latest_news())
  15. @app.route('/login')
  16. @oid.loginhandler
  17. def login():
  18. if g.user is not None:
  19. return redirect(oid.get_next_url())
  20. return oid.try_login('http://steamcommunity.com/openid')
  21. @oid.after_login
  22. def create_or_login(resp):
  23. match = app.config['STEAM_ID_RE'].search(resp.identity_url)
  24. g.user = User.get_or_create(match.group(1))
  25. steamdata = get_steam_userinfo(g.user.steam_id)
  26. g.user.nickname = steamdata['personaname']
  27. g.user.avatar = steamdata['avatar']
  28. db.session.commit()
  29. session['user_id'] = g.user.id
  30. flash("You are logged in as {}".format(g.user.nickname))
  31. return redirect(oid.get_next_url())
  32. @app.route('/logout')
  33. def logout():
  34. session.pop('user_id', None)
  35. return redirect(oid.get_next_url())
  36. ### TEMPORARY ###
  37. @app.route('/teamspeak')
  38. def teamspeak():
  39. return render_template('teamspeak.html')
  40. @app.route('/list_events')
  41. def list_events():
  42. return "Events list!"
  43. @app.route('/friends')
  44. def friends():
  45. return render_template('friends.html')
  46. @app.route('/community')
  47. def community():
  48. return "Community!"
  49. @app.route('/ladder')
  50. def ladder():
  51. return "Ladder!"
  52. #From league/doobs_blueprint.py
  53. @app.route('/profile/<int:userid>')
  54. def user_profile(userid):
  55. user = User.query.filter_by(id=userid).first_or_404()
  56. return render_template('profile.html', user=user)
  57. '''
  58. from flask import render_template, flash, redirect, g, request, url_for
  59. from app import app, oid
  60. @app.route('/login')
  61. @oid.loginhandler
  62. def login():
  63. if g.user is not None:
  64. return redirect(oid.get_next_url())
  65. return oid.try_login('http://www.steamcommunity.com/openid')
  66. @oid.after_login
  67. def check_login(resp):
  68. match = app.config['STEAM_ID_RE'].search(resp.identity_url)
  69. return "none"
  70. @app.route('/')
  71. def main():
  72. return render_template('main.html')
  73. @app.route('/community')
  74. def community():
  75. return render_template('community.html', latest_posts=latest_posts())
  76. @app.route('/friends')
  77. def friends():
  78. return render_template('friends.html')
  79. @app.route('/teamspeak')
  80. def teamspeak():
  81. return render_template('teamspeak.html')
  82. @app.route('/events')
  83. def list_events():
  84. return render_template('events.html')
  85. @app.route('/events/<int:id>')
  86. def event_summary(id):
  87. return render_template('events.html')
  88. @app.route('/ladder')
  89. def ladder():
  90. return render_template('ladder.html')
  91. '''