39 lines
1.3 KiB
Python
39 lines
1.3 KiB
Python
import os
|
|
|
|
from flask import Flask
|
|
from flask.ext.login import LoginManager
|
|
from flask.ext.sqlalchemy import SQLAlchemy
|
|
from simplekv.db.sql import SQLAlchemyStore
|
|
from flask.ext.kvsession import KVSessionExtension
|
|
from config import *
|
|
|
|
APP_ROOT = os.path.dirname(os.path.abspath(__file__))
|
|
app = Flask(__name__, static_url_path='')
|
|
lm = LoginManager()
|
|
lm.init_app(app)
|
|
app.config.from_object(DevelopmentConfig)
|
|
db = SQLAlchemy(app)
|
|
store = SQLAlchemyStore(db.engine, db.metadata, 'sessions')
|
|
kvsession = KVSessionExtension(store, app)
|
|
|
|
if not app.debug and os.environ.get('HEROKU') is None:
|
|
import logging
|
|
from logging.handlers import RotatingFileHandler
|
|
file_handler = RotatingFileHandler('tmp/microblog.log', 'a',
|
|
1 * 1024 * 1024, 10)
|
|
file_handler.setLevel(logging.INFO)
|
|
file_handler.setFormatter(logging.Formatter(
|
|
'%(asctime)s %(levelname)s: %(message)s [in %(pathname)s:%(lineno)d]'))
|
|
app.logger.addHandler(file_handler)
|
|
app.logger.setLevel(logging.INFO)
|
|
app.logger.info('microblog startup')
|
|
|
|
if os.environ.get('HEROKU') is not None:
|
|
import logging
|
|
stream_handler = logging.StreamHandler()
|
|
app.logger.addHandler(stream_handler)
|
|
app.logger.setLevel(logging.INFO)
|
|
app.logger.info('microblog startup')
|
|
|
|
from clipperz import views, models, api
|