From 203438ab7cf1c9ea07f597a6dd486ee1d57fe041 Mon Sep 17 00:00:00 2001 From: Yax <1949284+kianby@users.noreply.github.com> Date: Sat, 2 May 2015 13:08:07 +0200 Subject: [PATCH] Bootstrap Flask application --- app/server.py | 52 ++++++++++++++++++++++++++++++++++++++++ app/services/database.py | 12 ++++------ config.py | 5 ++++ 3 files changed, 61 insertions(+), 8 deletions(-) create mode 100644 app/server.py diff --git a/app/server.py b/app/server.py new file mode 100644 index 0000000..59aa784 --- /dev/null +++ b/app/server.py @@ -0,0 +1,52 @@ +#!/usr/bin/python +# -*- coding: UTF-8 -*- + +import os +import sys +import logging +from flask import Flask +from werkzeug.contrib.fixers import ProxyFix + +app = Flask(__name__) + +# add current and parent path to syspath +currentPath = os.path.dirname(__file__) +parentPath = os.path.abspath(os.path.join(currentPath, os.path.pardir)) +paths = [currentPath, parentPath] +for path in paths: + if path not in sys.path: + sys.path.insert(0, path) + +# configure logging + +import config + + +def configure_logging(level): + root_logger = logging.getLogger() + root_logger.setLevel(level) + ch = logging.StreamHandler() + ch.setLevel(level) + # create formatter + formatter = logging.Formatter('[%(asctime)s] %(name)s %(levelname)s %(message)s') + # add formatter to ch + ch.setFormatter(formatter) + # add ch to logger + root_logger.addHandler(ch) + +logging_level = (20, 10)[config.DEBUG] +configure_logging(logging_level) + +logger = logging.getLogger(__name__) + +# initialize database +from app.services import database +database.setup() + +app.wsgi_app = ProxyFix(app.wsgi_app) + +logger.info("Start Stacosys application") + +app.run(host=config.HTTP_ADDRESS, + port=config.HTTP_PORT, + debug=config.DEBUG, use_reloader=False) diff --git a/app/services/database.py b/app/services/database.py index 1d6028e..e3baf82 100644 --- a/app/services/database.py +++ b/app/services/database.py @@ -29,11 +29,7 @@ def hash(value): @provide_db def setup(db): - from app.models.user import User - db.create_tables([User], safe=True) - - # create admin user if user table is empty - if User.select().count() == 0: - admin_user = User(username='admin', password=hash('admin'), - displayname='Admin') - admin_user.save() + from app.models.site import Site + from app.models.comment import Comment + + db.create_tables([Site, Comment], safe=True) diff --git a/config.py b/config.py index c0fe729..351dc1f 100644 --- a/config.py +++ b/config.py @@ -1,3 +1,8 @@ # Configuration file +DEBUG = True + DB_URL = "mysql://stacosys_user:stacosys_password@localhost:3306/stacosys" + +HTTP_ADDRESS = "0.0.0.0" +HTTP_PORT = 8000