2020-10-08 10:34:02 +00:00
|
|
|
import logging
|
|
|
|
import os
|
|
|
|
|
|
|
|
|
|
|
|
root_dir = os.path.abspath(os.path.dirname(__file__))
|
|
|
|
|
|
|
|
|
2020-10-08 10:47:47 +00:00
|
|
|
DEFAULT_DATA_DIR = os.path.join('/mnt/nopaque')
|
2020-10-08 10:34:02 +00:00
|
|
|
DEFAULT_DB_PORT = '5432'
|
|
|
|
DEFAULT_DOMAIN = 'localhost'
|
|
|
|
DEFAULT_LOG_DATE_FORMAT = '%Y-%m-%d %H:%M:%S'
|
|
|
|
DEFAULT_LOG_FILE = os.path.join(root_dir, 'nopaqued.log')
|
|
|
|
DEFAULT_LOG_FORMAT = ('[%(asctime)s] %(levelname)s in %(pathname)s '
|
|
|
|
'(function: %(funcName)s, line: %(lineno)d): '
|
|
|
|
'%(message)s')
|
|
|
|
DEFAULT_LOG_LEVEL = 'ERROR'
|
|
|
|
DEFAULT_MAIL_USE_SSL = 'False'
|
|
|
|
DEFAULT_MAIL_USE_TLS = 'False'
|
|
|
|
DEFAULT_PROTOCOL = 'http'
|
|
|
|
|
|
|
|
|
|
|
|
class Config:
|
|
|
|
''' ### Database ### '''
|
|
|
|
DB_HOST = os.environ.get('NOPAQUE_DB_HOST')
|
|
|
|
DB_NAME = os.environ.get('NOPAQUE_DB_NAME')
|
|
|
|
DB_PASSWORD = os.environ.get('NOPAQUE_DB_PASSWORD')
|
|
|
|
DB_PORT = os.environ.get('NOPAQUE_DB_PORT', DEFAULT_DB_PORT)
|
|
|
|
DB_USERNAME = os.environ.get('NOPAQUE_DB_USERNAME')
|
|
|
|
SQLALCHEMY_DATABASE_URI = 'postgresql://{}:{}@{}:{}/{}'.format(
|
|
|
|
DB_USERNAME, DB_PASSWORD, DB_HOST, DB_PORT, DB_NAME)
|
|
|
|
|
|
|
|
''' ### SMTP ### '''
|
|
|
|
SMTP_DEFAULT_SENDER = os.environ.get('NOPAQUE_SMTP_DEFAULT_SENDER')
|
|
|
|
SMTP_PASSWORD = os.environ.get('NOPAQUE_SMTP_PASSWORD')
|
|
|
|
SMTP_PORT = os.environ.get('NOPAQUE_SMTP_PORT')
|
|
|
|
SMTP_SERVER = os.environ.get('NOPAQUE_SMTP_SERVER')
|
|
|
|
SMTP_USERNAME = os.environ.get('NOPAQUE_SMTP_USERNAME')
|
|
|
|
SMTP_USE_SSL = os.environ.get('NOPAQUE_SMTP_USE_SSL',
|
|
|
|
DEFAULT_MAIL_USE_SSL).lower() == 'true'
|
|
|
|
SMTP_USE_TLS = os.environ.get('NOPAQUE_SMTP_USE_TLS',
|
|
|
|
DEFAULT_MAIL_USE_TLS).lower() == 'true'
|
|
|
|
|
|
|
|
''' ### General ### '''
|
|
|
|
DATA_DIR = os.environ.get('NOPAQUE_DATA_DIR', DEFAULT_DATA_DIR)
|
|
|
|
DOMAIN = os.environ.get('NOPAQUE_DOMAIN', DEFAULT_DOMAIN)
|
|
|
|
PROTOCOL = os.environ.get('NOPAQUE_PROTOCOL', DEFAULT_PROTOCOL)
|
|
|
|
|
|
|
|
''' ### Logging ### '''
|
|
|
|
LOG_DATE_FORMAT = os.environ.get('NOPAQUE_LOG_DATE_FORMAT',
|
|
|
|
DEFAULT_LOG_DATE_FORMAT)
|
|
|
|
LOG_FILE = os.environ.get('NOPAQUE_DAEMON_LOG_FILE', DEFAULT_LOG_FILE)
|
|
|
|
LOG_FORMAT = os.environ.get('NOPAQUE_LOG_FORMAT', DEFAULT_LOG_FORMAT)
|
|
|
|
LOG_LEVEL = os.environ.get('NOPAQUE_LOG_LEVEL', DEFAULT_LOG_LEVEL)
|
|
|
|
|
|
|
|
def init_app(self):
|
|
|
|
# Configure logging according to the corresponding (LOG_*) config
|
|
|
|
# entries
|
|
|
|
logging.basicConfig(datefmt=self.LOG_DATE_FORMAT,
|
|
|
|
filename=self.LOG_FILE,
|
|
|
|
format=self.LOG_FORMAT,
|
|
|
|
level=self.LOG_LEVEL)
|