import os
import datetime
from local_config import LocalConfig

class Config(object):
    SECRET_KEY = os.environ.get('SECRET_KEY') or LocalConfig.SECRET_KEY
    SQLALCHEMY_DATABASE_URI = os.environ.get('DATABASE_URL') or \
        'postgresql+psycopg2://' + os.environ.get('USER') + ':@/' \
        + LocalConfig.DB_NAME
    SQLALCHEMY_TRACK_MODIFICATIONS = False


class V5Config(LocalConfig):
    # Length allocated to privilege names (slugs)
    PRIVS_MAXLEN = 64
    # Forbidden user names
    FORBIDDEN_USERNAMES = ["admin", "root", "webmaster", "contact"]
    # Unauthorized message (@priv_required)
    UNAUTHORIZED_MSG = "Vous n'avez pas l'autorisation d'effectuer cette action !"
    # Minimum and maximum user name length
    USER_NAME_MINLEN = 3
    USER_NAME_MAXLEN = 32
    # Minimum password length for new users and new passwords
    PASSWORD_MINLEN = 10
    # Maximum thread name length
    THREAD_NAME_MAXLEN = 32
    # Amount of comments per thread page
    COMMENTS_PER_PAGE = 20
    # Remember-me cookie duration time
    REMEMBER_COOKIE_DURATION = datetime.timedelta(days=7)
    # XP points for content posting (and deletion)
    XP_POINTS = {
        'topic': 2,
        'program': 5,
        'tutorial': 5,
        'comment': 1,
        'contest': 10,
    }
