# -*- coding: UTF-8 -*

import os
from dotenv import load_dotenv

BASEDIR = os.path.abspath(os.path.dirname(__file__))
load_dotenv(os.path.join(BASEDIR, ".env"))


class ConfigClass(object):
    """General configuration. Mostly loaded from environment via .env"""

    SECRET_KEY = os.environ.get("SECRET_KEY") or "un-grand-secret-introuvable"
    SQLALCHEMY_DATABASE_URI = (
        os.environ.get("USERS_DATABASE_URI")
        or "postgresql://scodoc@localhost:5432/SCO8USERS"
    )
    SQLALCHEMY_TRACK_MODIFICATIONS = False
    LOG_TO_STDOUT = os.environ.get("LOG_TO_STDOUT")
    MAIL_SERVER = os.environ.get("MAIL_SERVER")
    MAIL_PORT = int(os.environ.get("MAIL_PORT") or 25)
    MAIL_USE_TLS = os.environ.get("MAIL_USE_TLS") is not None
    MAIL_USERNAME = os.environ.get("MAIL_USERNAME")
    MAIL_PASSWORD = os.environ.get("MAIL_PASSWORD")
    LANGUAGES = ["fr", "en"]  # unused for now
    SCODOC_ADMIN_MAIL = os.environ.get("SCODOC_ADMIN_MAIL")
    SCODOC_ADMIN_LOGIN = os.environ.get("SCODOC_ADMIN_LOGIN") or "admin"
    ADMINS = [SCODOC_ADMIN_MAIL]
    SCODOC_ERR_MAIL = os.environ.get("SCODOC_ERR_MAIL")
    BOOTSTRAP_SERVE_LOCAL = os.environ.get("BOOTSTRAP_SERVE_LOCAL")
    # for ScoDoc 7 compat (à changer)
    INSTANCE_HOME = os.environ.get("INSTANCE_HOME", "/opt/scodoc")

    # For legacy ScoDoc7 installs: postgresql user
    SCODOC7_SQL_USER = os.environ.get("SCODOC7_SQL_USER", "www-data")
    DEFAULT_SQL_PORT = os.environ.get("DEFAULT_SQL_PORT", "5432")
    # STATIC_URL_PATH = "/ScoDoc/static"
    # static_folder = "stat"
    # SERVER_NAME = os.environ.get("SERVER_NAME")

    def __init__(self):
        """Used to build some config variable at startup time"""
        self.SCODOC_VAR_DIR = os.path.join(self.INSTANCE_HOME, "var", "scodoc")


Config = ConfigClass()