From 88c79ec1a6199836b442352c92143e4966aa408a Mon Sep 17 00:00:00 2001 From: takeshix Date: Fri, 2 Jan 2015 20:19:00 +0100 Subject: [PATCH] Missing dependencies added --- CTFd/__init__.py | 1 + CTFd/admin.py | 19 +++++++------------ CTFd/auth.py | 4 ++-- CTFd/challenges.py | 5 +++-- CTFd/scoreboard.py | 3 +-- CTFd/utils.py | 5 +++-- CTFd/views.py | 3 +-- requirements.txt | 1 + 8 files changed, 19 insertions(+), 22 deletions(-) diff --git a/CTFd/__init__.py b/CTFd/__init__.py index 80f35897..3d580300 100644 --- a/CTFd/__init__.py +++ b/CTFd/__init__.py @@ -28,6 +28,7 @@ def create_app(subdomain, username="", password=""): app.db = db # app.setup = True + global mail mail = Mail(app) Session(app) diff --git a/CTFd/admin.py b/CTFd/admin.py index 3bf8e2c0..186a633f 100644 --- a/CTFd/admin.py +++ b/CTFd/admin.py @@ -1,4 +1,4 @@ -from CTFd import render_template, request, redirect, abort, jsonify, url_for, session +from flask import render_template, request, redirect, abort, jsonify, url_for, session from CTFd.utils import sha512, is_safe_url, authed, admins_only, is_admin, unix_time, unix_time_millis from CTFd.models import db, Teams, Solves, Challenges, WrongKeys, Keys, Tags, Files, Tracking, Pages, Config from itsdangerous import TimedSerializer, BadTimeSignature @@ -45,17 +45,12 @@ def init_admin(app): @admins_only def admin_config(): if request.method == "POST": - start = request.form['start'] - end = request.form['end'] - - if not start: + try: + start = int(request.form['start']) + end = int(request.form['end']) + except (ValueError, TypeError): start = None - else: - start = int(start) - if not end: end = None - else: - end = int(end) print repr(start), repr(end) @@ -243,7 +238,7 @@ def init_admin(app): @admins_only def ban(teamid): user = Teams.query.filter_by(id=teamid).first() - user.banned = 1; + user.banned = 1 db.session.commit() return redirect('/scoreboard') @@ -251,7 +246,7 @@ def init_admin(app): @admins_only def unban(teamid): user = Teams.query.filter_by(id=teamid).first() - user.banned = None; + user.banned = None db.session.commit() return redirect('/scoreboard') diff --git a/CTFd/auth.py b/CTFd/auth.py index 238c5bfa..4813e743 100644 --- a/CTFd/auth.py +++ b/CTFd/auth.py @@ -1,5 +1,5 @@ -from CTFd import render_template, request, redirect, abort, jsonify, url_for, session -from CTFd.utils import sha512, is_safe_url, authed, mailserver +from flask import render_template, request, redirect, abort, jsonify, url_for, session +from CTFd.utils import sha512, is_safe_url, authed, mailserver, sendmail from CTFd.models import db, Teams from itsdangerous import TimedSerializer, BadTimeSignature diff --git a/CTFd/challenges.py b/CTFd/challenges.py index 9e65ca3c..73838996 100644 --- a/CTFd/challenges.py +++ b/CTFd/challenges.py @@ -1,10 +1,11 @@ -from flask import current_app as app, render_template, request, redirect, abort, jsonify, json as json_mod, url_for +from flask import current_app as app, render_template, request, redirect, abort, jsonify, json as json_mod, url_for, session -from CTFd import session, logging from CTFd.utils import ctftime, authed, unix_time, get_kpm from CTFd.models import db, Challenges, Files, Solves, WrongKeys, Keys import time +import re +import logging def init_challenges(app): @app.route('/challenges', methods=['GET']) diff --git a/CTFd/scoreboard.py b/CTFd/scoreboard.py index 92b5fc3a..52aecbca 100644 --- a/CTFd/scoreboard.py +++ b/CTFd/scoreboard.py @@ -1,5 +1,4 @@ -from flask import current_app as app -from CTFd import session, render_template, jsonify +from flask import current_app as app, session, render_template, jsonify from CTFd.utils import unix_time from CTFd.models import db, Teams, Solves, Challenges diff --git a/CTFd/utils.py b/CTFd/utils.py index 1844981f..931a7917 100644 --- a/CTFd/utils.py +++ b/CTFd/utils.py @@ -1,9 +1,10 @@ -from CTFd import session from CTFd.models import db, WrongKeys, Pages, Config +from CTFd import mail from urlparse import urlparse, urljoin from functools import wraps -from flask import current_app as app, g, request, redirect, url_for +from flask import current_app as app, g, request, redirect, url_for, session +from flask.ext.mail import Message from socket import inet_aton, inet_ntoa from struct import unpack, pack diff --git a/CTFd/views.py b/CTFd/views.py index e64ee975..4bf5368e 100644 --- a/CTFd/views.py +++ b/CTFd/views.py @@ -1,5 +1,4 @@ -from flask import current_app as app, render_template, render_template_string, request, redirect, abort, jsonify, json as json_mod, url_for -from CTFd import session +from flask import current_app as app, render_template, render_template_string, request, redirect, abort, jsonify, json as json_mod, url_for, session from CTFd.utils import authed, ip2long, long2ip, is_setup from CTFd.models import db, Teams, Solves, Challenges, WrongKeys, Keys, Tags, Files, Tracking, Pages, Config diff --git a/requirements.txt b/requirements.txt index e1d2049b..0d769a03 100644 --- a/requirements.txt +++ b/requirements.txt @@ -7,3 +7,4 @@ SQLAlchemy==0.9.8 passlib==1.6.2 py-bcrypt==0.4 six==1.8.0 +itsdangerous \ No newline at end of file