import sys import os try: from db_config import * except ImportError: sys.stderr.write("ERROR: Please set a db_config.py file in you PYTHON_PATH\n") sys.stderr.write("ERROR: See INSTALL.md for more info\n") sys.exit(-1) # # SQLALCHEMY_DATABASE_URI will default to 'sqlite:///:memory:' if not set # class Config(object): SECRET_KEY = 'dev' PDC_ROOT_DIR = os.path.abspath(os.path.dirname(__file__)) # Please change the following to fit you own site parameters # PDC_APP_NAME = 'Plan de Charge' PDC_SITE_NAME = 'NO_SITE' # choose among DEV, IRAP, LESIA, LAM ... will display on page's title PDC_SITE_CLASS = 'public-icon' # choose among admin-icon, public-icon, dev-icon, see more in app/static/style.css PDC_LOGS_LEVEL = 'ERROR' # choose within DEBUG, INFO, WARN, ERROR ( more in the python logging module ) PDC_LOGS_DIR = os.path.join(PDC_ROOT_DIR, 'logs') PDC_LOGS_FILE = os.path.join(PDC_LOGS_DIR, 'pdc.log') PDC_RESOURCES_DIR = os.path.join(PDC_ROOT_DIR, 'resources') PDC_DB_DATA_DIR = os.path.join(PDC_RESOURCES_DIR, 'db-contents') # Uncomment for role access control # # if True, will disable any role control on routes # note that this doesnt disable the @login_required # # ROLE_DISABLED = False # Uncomment for site access control # # if True, will force login access on any site page # note that this doesnt disable the @login_required # # SITE_LOGIN = False # # No need to Edit below # ( but keep reading ) # # You can force logging to stdout in production environment # (make sure your httpd/wsgi server can redirect to log files) LOG_TO_STDOUT = os.environ.get('LOG_TO_STDOUT') if LOG_TO_STDOUT and LOG_TO_STDOUT.upper() == "true".upper(): LOG_TO_STDOUT = True SQLALCHEMY_TRACK_MODIFICATIONS = False # Trying to set specific db uri from ./db_config.py try: SQLALCHEMY_DATABASE_URI = sqlalchemy_database_uri except NameError: SQLALCHEMY_DATABASE_URI = os.environ.get('DATABASE_URL') or \ 'sqlite:///' + os.path.join(PDC_ROOT_DIR, 'pdc.db') try: LESIA_AGENTS_DB_URI = mysql_lesia_uri except NameError: LESIA_AGENTS_DB_URI = os.environ.get('LESIA_AGENTS_DB_URI') or \ 'sqlite:///' + os.path.join(PDC_ROOT_DIR, 'lesia.db') # TODO: to be set in a app_init() method so we can see if we are prod, dev or testing, # then set the VERSION accordingly with open(os.path.join(PDC_ROOT_DIR, 'VERSION.txt')) as version_file: VERSION = version_file.read().strip() # Production configuration # class ProdConfig(Config): TESTING = False DEBUG = False # Development configuration # class DevConfig(Config): DEBUG = True # Trying to set specific db uri from ./db_config.py try: SQLALCHEMY_DATABASE_URI = sqlalchemy_devdb_uri except NameError: SQLALCHEMY_DATABASE_URI = os.environ.get('DATABASE_URL') or \ 'sqlite:///' + os.path.join(Config.PDC_ROOT_DIR, 'pdc-dev.db') # ignores @login_required decorator LOGIN_DISABLED = True # ignores @role_required decorator ROLE_DISABLED = True from datetime import datetime import re date = datetime.now().strftime("%y%m%d%H%M") VERSION = re.sub(r"^(\d\.\d)\..*$", r"\1" + f".pre-{date}", Config.VERSION) # Testing configuration # class TestConfig(Config): TESTING = True DEBUG = True PDC_LOGS_LEVEL = 'INFO' # choose within DEBUG, INFO, WARN, ERROR ( more levels in logging module ) # Trying to set specific db uri from ./db_config.py try: SQLALCHEMY_DATABASE_URI = sqlalchemy_testdb_uri except NameError: SQLALCHEMY_DATABASE_URI = os.environ.get('DATABASE_URL') or \ 'sqlite:///' + os.path.join(Config.PDC_ROOT_DIR, 'pdc-test.db') # ignores @login_required decorator LOGIN_DISABLED = True # ignores @role_required decorator ROLE_DISABLED = True # vim: tw=0