def make_app(): app = Flask(__name__) app.config['SQLALCHEMY_DATABASE_URI'] = "sqlite:///" + os.path.join(base, 'site.db') app.secret_key = 'IShouldntTellAnyoneThisString' register_blueprints(app) db.init_app(app) return app
def create_app(): app = Flask(__name__) CORS(app) app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///security_system.db' db.init_app(app) print("created app!") return app
def create_app(): app = Flask(__name__) app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///test.db' app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False db.init_app(app) return app
def client(): db_fd, app.config["DATABASE"] = tempfile.mkstemp() app.config["TESTING"] = True with app.test_client() as client: with app.app_context(): db.init_app(app) yield client os.close(db_fd) os.unlink(app.config["DATABASE"])
def create_test_app(self): app = create_app() app.config['SQLALCHEMY_DATABASE_URI'] = "sqlite://" app.config['TESTING'] = True db.init_app(app) # with open('SPOTIFY_INFO', 'r') as f: # lines = f.readlines() # values = [line.strip().split('=')[1] for line in lines] # app.config['SPOTIFY_USER'] = values[0] # app.config['SPOTIFY_SECRET'] = values[1] return app
def create_real_app(testmode=False): app = create_app() # app.config['SPOTIFY_USER'] = os.environ.get('SPOTIFY_USER', None) # app.config['SPOTIFY_SECRET'] = os.environ.get('SPOTIFY_SECRET', None) if testmode: with open('DB_INFO', 'r') as f: lines = f.readlines() values = [line.strip().split('=')[1] for line in lines] app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql://{}:{}@{}/{}'.format( values[0], values[1], values[2], values[3]) else: app.config['SQLALCHEMY_DATABASE_URI'] = os.environ.get('DB_URI', None) #mysql://bbb386a7ed3a40:[email protected]/heroku_4e290ac3ef1b5fb?reconnect=true db.init_app(app) return app
from datetime import datetime import dateutil.parser from flask import Flask, render_template from flask_sqlalchemy import SQLAlchemy from flask_migrate import Migrate from models.shared import db from routes.artist import ArtistRouter from routes.show import ShowRouter from routes.venue import VenueRouter ## ----------------------------------------------------------------------------------------------- ## Setup ## ----------------------------------------------------------------------------------------------- app = Flask(__name__) app.config.from_object('config') db.init_app(app) migrate = '' with app.app_context(): migrate = Migrate(app, db) ## ----------------------------------------------------------------------------------------------- ## ----------------------------------------------------------------------------------------------- ## Filters ## ----------------------------------------------------------------------------------------------- app.jinja_env.filters['date_now'] = lambda _: datetime.now().strftime("%Y-%m-%d %H:%M:%S") app.jinja_env.filters['is_date_in_the_past'] = lambda d: d < datetime.now() app.jinja_env.filters['is_date_in_the_future'] = lambda d: d > datetime.now() ## -----------------------------------------------------------------------------------------------
def create_app(config=None): app = Flask(__name__) if config: app.config.from_mapping(config) else: app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///prod.db' app.config['SECRET_KEY'] = '7d441f27d441f27567d441f2b6176a' app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = True db.init_app(app) @app.errorhandler(404) def page_not_found(e): return render_template('404.html'), 404 @app.route('/signup', methods=['GET', 'POST']) def signup(): form = SignUp(request.form) if request.method == 'POST': if form.validate(): name = request.form['name'] password = request.form['password'] email = request.form['email'] u = User(email=email, name=name, password=password) db.session.add(u) db.session.commit() session['auth'] = { 'name': name, 'email': email, 'timestamp': time.time() } return redirect(url_for('index')) else: flash('All the form fields are required.', category='error') return render_template('signup.html', form=form) @app.route('/login', methods=['GET', 'POST']) def login(): form = Login(request.form) if request.method == 'POST': if form.validate(): password = request.form['password'] email = request.form['email'] user = User.query.filter_by(email=email).first() print(user) if user: print(user) if user.password == password: session['auth'] = { 'name': user.name, 'email': user.email, 'timestamp': time.time() } return redirect(url_for('index')) else: flash('Authentication failed', category='error') else: flash('Authentication failed', category='error') else: flash('All the form fields are required', category='error') return render_template('login.html', form=form) @app.route('/', methods=['GET']) def index(): auth = session.get('auth') if auth: user: User = User.query.filter_by(email=auth.get('email')).first() if not user: session['auth'] = {} return redirect('/login') info = user.get_index_data() print(info) return render_template('index.html', **info) return redirect('/login') @app.route('/responses') def responses(): auth = session.get('auth') if auth: user: User = User.query.filter_by(email=auth.get('email')).first() User.query.filter_by(email=auth.get('email')).first() if not user: session['auth'] = {} return redirect('/login') quests = Questionnaire.query.all() return render_template('responses.html', quests=quests) @app.route('/respond/<int:ref>', methods=['GET', 'POST']) def respond(ref): quest = Questionnaire.query.get(ref) if not quest: print('no questionnaire found with id %s' % ref) return abort(404) if request.method == 'GET': return render_template('feedback.html', name=quest.name, questions=quest.questions) elif request.method == 'POST': for question_id in request.form: question = Question.query.get(question_id) resp = Response(question=question.id, rating=request.form.get(question_id)) db.session.add(resp) db.session.commit() return render_template('feedback_received.html') @app.route('/projects', methods=['GET', 'POST']) def projects(): auth = session.get('auth') if auth: user: User = User.query.filter_by(email=auth.get('email')).first() if not user: session['auth'] = {} return redirect('/login') if request.method == 'POST': name = request.form['projectName'] description = request.form['projectDescription'] pro = Project(name=name, description=description) db.session.add(pro) user.project.append(pro) db.session.commit() grid = user.get_project_grid(3) return render_template('projects.html', projectgrid=grid) return redirect('/login') @app.route('/tasks/user') @app.route('/tasks/user/<int:ref>', methods=['GET', 'POST']) def user_tasks(ref=None): auth = session.get('auth') if auth: user: User = User.query.filter_by(email=auth.get('email')).first() if not user: session['auth'] = {} return redirect('/login') if ref: user: User = User.query.filter_by(id=ref).first() if not user: return abort(404) if request.method == 'POST': name = request.form.get('taskName') description = request.form.get('taskDescription') t_time = request.form.get('taskTime') if not all((name, description, t_time)): abort(404) t_time = datetime.strptime(t_time, '%Y-%m-%dT%H:%M:%S.%fZ') n_task: Task = Task(name=name, description=description, end_time=t_time) user.tasks.append(n_task) db.session.commit() return abort(200) else: return render_template('tasks.html', data=user) @app.route('/tasks/project/<int:ref>', methods=['GET', 'POST']) def proj_tasks(ref): auth = session.get('auth') if auth: user: User = User.query.filter_by(email=auth.get('email')).first() if not user: session['auth'] = {} return redirect('/login') project: Project = Project.query.filter_by(id=ref).first() if not project: return abort(404) if request.method == 'POST': name = request.form.get('taskName') description = request.form.get('taskDescription') t_time = request.form.get('taskDate') if not all((name, description, t_time)): abort(404) t_time = datetime.strptime(t_time, '%Y-%m-%dT%H:%M:%S.%fZ') n_task: Task = Task(name=name, description=description, end_time=t_time) project.tasks.append(n_task) user.tasks.append(n_task) db.session.commit() return ('', 200) else: return render_template('tasks.html', data=project) @app.route('/tasks/task/<int:ref>', methods=['GET', 'POST']) def task_tasks(ref): auth = session.get('auth') if auth: user: User = User.query.filter_by(email=auth.get('email')).first() if not user: session['auth'] = {} return redirect('/login') task: Task = Task.query.filter_by(id=ref).first() if not task: return abort(404) if request.method == 'POST': name = request.form.get('taskName') description = request.form.get('taskDescription') t_time = request.form.get('taskDate') if not all((name, description, t_time)): abort(404) t_time = datetime.strptime(t_time, '%Y-%m-%dT%H:%M:%S.%fZ') n_task: Task = Task(name=name, description=description, end_time=t_time) db.session.add(n_task) task.tasks.append(n_task) db.session.commit() user.tasks.append(n_task) db.session.commit() print(task, task.tasks) print(n_task, n_task.tasks) return ('', 200) else: print(task, task.tasks) return render_template('tasks.html', data=task) @app.route('/test', methods=['GET']) def test(): return render_template('newQuestionnaire.html') @app.route('/questionnaire/<int:ref>', methods=['GET', 'POST']) def questionnaire(ref): auth = session.get('auth') if auth: user: User = User.query.filter_by(email=auth.get('email')).first() if not user: session['auth'] = {} return redirect('/login') task: Task = Task.query.filter_by(id=ref).first() if not task: return abort(404) if request.method == 'POST': name = request.form.get('name') if not name: return abort(404) quest = Questionnaire(name=name, task=task) task.questionnaires.append(quest) for key, value in request.form.items(): if not value or key == 'name': continue else: quest.questions.append( Question(text=value, questionnaire=quest)) db.session.commit() return render_template('newQuestionnaire.html') @app.route('/logout', methods=['GET']) def logout(): session.pop('auth') return redirect(url_for('index')) return app
from flask.ext.security import Security, SQLAlchemyUserDatastore, LoginForm, login_user, logout_user from flask.ext.login import LoginManager, login_required from models.shared import db from models.accounts import Role, User # Initialize Flask app app = Flask(__name__) # Load base configuration app.config.from_pyfile('settings.py') # Try configuration overriding with local settings file app.config.from_pyfile('local_settings.py', silent=True) # Initialize database connections db.init_app(app) # Setup Flask-Security user_datastore = SQLAlchemyUserDatastore(db, User, Role) security = Security(app, user_datastore) # Setup Flask-Login login_manager = LoginManager() login_manager.init_app(app) @login_manager.user_loader def load_user(userid): return User.get(userid)
def create_app(): app = Flask(__name__) CORS(app) app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///petdoor.db' db.init_app(app) return app