haldis/app/app.py

38 lines
1.1 KiB
Python
Raw Normal View History

2015-04-02 10:41:19 +00:00
import logging
from logging.handlers import TimedRotatingFileHandler
2015-03-26 20:49:14 +00:00
from flask import Flask
2015-03-30 22:51:30 +00:00
from flask.ext.bootstrap import Bootstrap, StaticCDN
2015-03-26 20:49:14 +00:00
from flask.ext.sqlalchemy import SQLAlchemy
app = Flask(__name__)
app.config.from_object('config.Configuration')
Bootstrap(app)
2015-03-26 20:49:14 +00:00
2015-03-30 22:51:30 +00:00
# use our own bootstrap theme
app.extensions['bootstrap']['cdns']['bootstrap'] = StaticCDN()
2015-03-26 20:49:14 +00:00
db = SQLAlchemy(app)
2015-03-30 22:06:09 +00:00
class PrefixFix(object):
def __init__(self, app, script_name):
self.app = app
self.script_name = script_name
def __call__(self, environ, start_response):
path = environ.get('SCRIPT_NAME', '') + environ.get('PATH_INFO', '')
environ['SCRIPT_NAME'] = self.script_name
environ['PATH_INFO'] = path[len(self.script_name):]
return self.app(environ, start_response)
2015-03-31 14:29:28 +00:00
2015-03-30 22:06:09 +00:00
if not app.debug:
2015-03-31 13:11:20 +00:00
app.wsgi_app = PrefixFix(app.wsgi_app, '/james')
2015-04-02 10:41:19 +00:00
timedFileHandler = TimedRotatingFileHandler(app.config['LOGFILE'], when='midnight', backupCount=100)
timedFileHandler.setLevel(logging.INFO)
logger = logging.getLogger('werkzeug')
logger.addHandler(timedFileHandler)
app.logger.addHandler(timedFileHandler)