Config   A
last analyzed

Complexity

Total Complexity 1

Size/Duplication

Total Lines 25
Duplicated Lines 0 %

Importance

Changes 9
Bugs 0 Features 0
Metric Value
wmc 1
c 9
b 0
f 0
dl 0
loc 25
rs 10

1 Method

Rating   Name   Duplication   Size   Complexity  
A init_app() 0 3 1
1
import os
2
basedir = os.path.abspath(os.path.dirname(__file__))
3
4
5
class Config:
6
    SECRET_KEY = os.environ.get('SECRET_KEY') or 'o4d?2EXxt9.62Qj;ghXm[{#voUmF#$7ExY8T^V8BRC8si8faA$'
7
    dropbox_app_key = os.environ.get('DROPBOX_APP_KEY')
8
    dropbox_app_secret = os.environ.get('DROPBOX_APP_SECRET')
9
    dropbox_app_token = os.environ.get('DROPBOX_APP_TOKEN')
10
    SQLALCHEMY_COMMIT_ON_TEARDOWN = True
11
    SQLALCHEMY_TRACK_MODIFICATIONS = False
12
    MAPBOX_MAP_ID = os.environ.get('MAPBOX_MAP_ID')
13
    MAPBOX_ACCESS_TOKEN = os.environ.get('MAPBOX_ACCESS_TOKEN')
14
    SECURITY_POST_LOGIN_VIEW = 'admin/'
15
    SECURITY_CHANGEABLE = True
16
    CELERY_BROKER_URL = os.environ.get('CELERY_BROKER_URL',
17
        'redis://localhost:6379/1')
18
    SENTRY_USER_ATTRS = ['username', 'email']
19
    SENTRY_DSN = os.environ.get('SENTRY_DSN')
20
    SENTRY_PUBLIC_DSN = os.environ.get('SENTRY_PUBLIC_DSN')
21
    CELERY_ACKS_LATE = True
22
    CELERYD_PREFETCH_MULTIPLIER = 1
23
    CELERYD_MAX_TASKS_PER_CHILD = 10
24
    CELERYD_TASK_TIME_LIMIT = 600
25
    API_GAGES_PER_PAGE = 100
26
27
    @staticmethod
28
    def init_app(app):
29
        pass
30
31
32
class DevelopmentConfig(Config):
33
    DEBUG = True
34
    API_GAGES_PER_PAGE = 2
35
    SQLALCHEMY_DATABASE_URI = 'postgresql://localhost/gage_web'
36
    # SERVER_NAME = 'flows.ngrok.com'
37
38
39
class TestingConfig(Config):
40
    TESTING = True
41
    API_GAGES_PER_PAGE = 1
42
    SECRET_KEY = '1'  # noqa
43
    CSRF_ENABLED = False
44
    SQLALCHEMY_DATABASE_URI = os.environ.get('GAGE_DB', 'postgresql://localhost/gage_web_testing')
45
    CELERY_ALWAYS_EAGER = True
46
    # SQLALCHEMY_ECHO = True
47
48
49
class DockerConfig(Config):
50
    DEBUG = os.environ.get('FLASK_DEBUG', False)
51
    SERVER_NAME = os.environ.get('SERVER_NAME')
52
    SECURITY_PASSWORD_HASH = 'bcrypt'  # noqa
53
    SECURITY_PASSWORD_SALT = (
54
        os.environ.get('SECRET_KEY') or
55
        'LMB#*42.)tHm4A;9Ce^hoPLN6C[m=3;2oTvK,vXA7EpMG4bg8x')
56
    SQLALCHEMY_DATABASE_URI = (
57
        os.environ.get('GAGE_DB') or
58
        'postgresql://localhost/gage-web')
59
    
60
61
62
class ProductionConfig(Config):
63
    # SERVER_NAME = 'riverflo.ws'
64
    SECURITY_PASSWORD_HASH = 'bcrypt'  # noqa
65
    SECURITY_PASSWORD_SALT = (
66
        os.environ.get('SECRET_KEY') or
67
        'LMB#*42.)tHm4A;9Ce^hoPLN6C[m=3;2oTvK,vXA7EpMG4bg8x')
68
    SQLALCHEMY_DATABASE_URI = (
69
        os.environ.get('GAGE_DB') or
70
        'postgresql://localhost/gage-web')
71
72
config = {
73
    'development': DevelopmentConfig,
74
    'testing': TestingConfig,
75
    'production': ProductionConfig,
76
    'docker': DockerConfig,
77
78
    'default': DevelopmentConfig
79
}
80