diff --git a/.gitignore b/.gitignore index 976a9c748e5a03e3e04d2787531d4a5a3b20d970..248fb04eaf7f4814f59b9dc160ee58616ab95ba7 100644 --- a/.gitignore +++ b/.gitignore @@ -108,3 +108,4 @@ venv.bak/ # Jetbrains folders .idea/ +migrations/ diff --git a/hodor/__init__.py b/hodor/__init__.py index a313df16678999907540db8f8d4c8629e627ae2e..61b6d17432d35b5eca717b560baaa9b44e9dad26 100644 --- a/hodor/__init__.py +++ b/hodor/__init__.py @@ -1,19 +1,35 @@ -# -*- coding: utf-8 -*- -__version__ = '0.1' -from flask import Flask -from flask_debugtoolbar import DebugToolbarExtension +# app/__init__.py +import time +from flask_api import FlaskAPI +from flask_sqlalchemy import SQLAlchemy +# local import +from instance.config import app_config -ENV = 'development' +# initialize sql-alchemy +db = SQLAlchemy() -app = Flask('hodor') -app.config['SECRET_KEY'] = 'CHANGE_ME_IN_PRODUCTION' +from hodor.models import * -from hodor.controllers import * -if ENV == 'development': - app.debug = True - toolbar = DebugToolbarExtension(app) -else: - app.debug = False - if app.config['SECRET_KEY'] == 'CHANGE_ME_IN_PRODUCTION': - print("[!] Please change your secret key before running in production"); +def create_app(config_name): + app = FlaskAPI(__name__, instance_relative_config=True) + app.config.from_object(app_config[config_name]) + app.config.from_pyfile('config.py') + app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False + db.init_app(app) + if config_name != 'production': + for x in range(0,5): + print "*** YOU ARE NOT RUNNING THE APP IN PRODUCTION MODE!! *** CTRL + C TO ABORT. APP WILL RUN IN {} SECONDS".format(5-x) + time.sleep(1) + + if config_name == 'production': + app.config['DEFAULT_RENDERERS'] = [ + 'flask.ext.api.renderers.JSONRenderer', + ] + + return app + + +app = create_app('testing') + +from hodor.controllers import * diff --git a/hodor/controllers/index.py b/hodor/controllers/index.py deleted file mode 100644 index 922aec5532208199ec2f8e69a9a1f0729e68a4e5..0000000000000000000000000000000000000000 --- a/hodor/controllers/index.py +++ /dev/null @@ -1,19 +0,0 @@ -# -*- coding: utf-8 -*- -from hodor import app -from flask import render_template, request -from flask_wtf import FlaskForm -from wtforms import StringField -from wtforms.validators import DataRequired - - -class CreateForm(FlaskForm): - text = StringField('name', validators=[DataRequired()]) - - -@app.route('/') -def start(): - pass - -@app.route('/app') -def application(): - pass diff --git a/hodor/models/index.py b/hodor/models/index.py deleted file mode 100644 index 54ff974e8265b86ebd6b8f0cc04bbf29faec7988..0000000000000000000000000000000000000000 --- a/hodor/models/index.py +++ /dev/null @@ -1,11 +0,0 @@ -# -*- coding: utf-8 -*- -from flask import flash - - -class Printer(object): - - def show_string(self, text): - if text == '': - flash("You didn't enter any text to flash") - else: - flash(text + "!!!") diff --git a/hodor/settings/.keep b/hodor/settings/.keep deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/requirements.txt b/requirements.txt index e0cb3ec246636fdd5bb8fc371d4ef3fab45a3c9a..0ce32c893f44d50560753c71570bfdda299c6e83 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,7 +1,4 @@ -Flask==0.12.2 -Flask-DebugToolbar==0.10.1 -Flask-SocketIO==2.9.1 -Flask-WTF==0.14.2 -Jinja2==2.9.6 -virtualenv -flask-restful +Flask +Flask-WTF +Jinja2 +Flask-DebugToolbar diff --git a/runserver.py b/runserver.py index c532c4a3232fb0d28a78ace00362f26919ab5952..4b3da66d4bfea22e5563ded0e0a05c55567c7c30 100755 --- a/runserver.py +++ b/runserver.py @@ -1,8 +1,6 @@ -#!/usr/bin/env python -# -*- coding: utf-8 -*- -import os from hodor import app +config_name = 'development' + if __name__ == '__main__': - port = int(os.environ.get("PORT", 8080)) - app.run('0.0.0.0', port=port) + app.run() \ No newline at end of file