-
Notifications
You must be signed in to change notification settings - Fork 0
/
__init__.py
69 lines (48 loc) · 1.5 KB
/
__init__.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
from flask import Flask, redirect
from flask.ext.mongoengine import MongoEngine
from flask.ext.login import LoginManager, logout_user
from flask.ext.seasurf import SeaSurf
from flask.ext.restful import Api
from raven.contrib.flask import Sentry
from celery import Celery
app = Flask(__name__)
#app.config.from_envvar('MONKEYBOOK_SETTINGS')
MONKEYBOOK_SETTINGS = 'monkeybook.config.dev.settings'
app.config.from_object(MONKEYBOOK_SETTINGS)
db = MongoEngine(app)
csrf = SeaSurf(app)
if app.config['IS_LIVE']:
sentry = Sentry(app)
from monkeybook.models import *
## Login
login_manager = LoginManager()
login_manager.init_app(app)
@login_manager.user_loader
def load_user(userid):
try:
return User.objects.get(id=userid)
except DoesNotExist:
# User got deleted, log them out
logout_user()
@login_manager.unauthorized_handler
def redirect_home():
return redirect(url_for('homepage'))
## Celery
celery = Celery('monkeybook')
# celery.config_from_envvar('MONKEYBOOK_SETTINGS')
celery.config_from_object(MONKEYBOOK_SETTINGS)
## Views
from monkeybook.views import *
@app.context_processor
def template_extras():
return {
'MIXPANEL_API_TOKEN': app.config['MIXPANEL_API_TOKEN'],
'DEBUG': app.config['DEBUG'],
'IS_LIVE': app.config['IS_LIVE']
}
## API
#api_app = Flask('monkeybook_api')
#api_app.config.from_object(MONKEYBOOK_SETTINGS)
# Dispatcher already adds "/api"
api = Api(app, prefix='/api/user/<int:fb_id>')
from monkeybook.resources import *