| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384 |
- # -*- encoding: utf-8 -*-
- """
- Copyright (c) 2019 - present AppSeed.us
- """
- import os, random, string
- class Config(object):
- basedir = os.path.abspath(os.path.dirname(__file__))
- # Set up the App SECRET_KEY
- SECRET_KEY = os.getenv('SECRET_KEY', None)
- if not SECRET_KEY:
- SECRET_KEY = ''.join(random.choice( string.ascii_lowercase ) for i in range( 32 ))
- SQLALCHEMY_TRACK_MODIFICATIONS = False
- DB_ENGINE = os.getenv('DB_ENGINE' , None)
- DB_USERNAME = os.getenv('DB_USERNAME' , None)
- DB_PASS = os.getenv('DB_PASS' , None)
- DB_HOST = os.getenv('DB_HOST' , None)
- DB_PORT = os.getenv('DB_PORT' , None)
- DB_NAME = os.getenv('DB_NAME' , None)
- USE_SQLITE = True
- # try to set up a Relational DBMS
- if DB_ENGINE and DB_NAME and DB_USERNAME:
- try:
-
- # Relational DBMS: PSQL, MySql
- SQLALCHEMY_DATABASE_URI = '{}://{}:{}@{}:{}/{}'.format(
- DB_ENGINE,
- DB_USERNAME,
- DB_PASS,
- DB_HOST,
- DB_PORT,
- DB_NAME
- )
- USE_SQLITE = False
- except Exception as e:
- print('> Error: DBMS Exception: ' + str(e) )
- print('> Fallback to SQLite ')
- if USE_SQLITE:
- # This will create a file in <app> FOLDER
- SQLALCHEMY_DATABASE_URI = 'sqlite:///' + os.path.join(basedir, 'db.sqlite3')
- # Assets Management
- ASSETS_ROOT = os.getenv('ASSETS_ROOT', '/static/assets')
-
- SOCIAL_AUTH_GITHUB = False
- GITHUB_ID = os.getenv('GITHUB_ID')
- GITHUB_SECRET = os.getenv('GITHUB_SECRET')
- # Enable/Disable Github Social Login
- if GITHUB_ID and GITHUB_SECRET:
- SOCIAL_AUTH_GITHUB = True
- class ProductionConfig(Config):
- DEBUG = False
- # Security
- SESSION_COOKIE_HTTPONLY = True
- REMEMBER_COOKIE_HTTPONLY = True
- REMEMBER_COOKIE_DURATION = 3600
- class DebugConfig(Config):
- DEBUG = True
- # Load all possible configurations
- config_dict = {
- 'Production': ProductionConfig,
- 'Debug' : DebugConfig
- }
|