#!/usr/bin/env python

from .base import *
from decouple import Config, RepositoryEnv


# Quick-start development settings - unsuitable for production
# See https://docs.djangoproject.com/en/4.1/howto/deployment/checklist/

config = Config(RepositoryEnv(".env.dev"))


# SECURITY WARNING: keep the secret key used in production secret!
SECRET_KEY = config("SECRET_KEY", default="test", cast=str)

DEBUG = config("DEBUG", default=False, cast=bool)

ALLOWED_HOSTS = config("ALLOWED_HOSTS", default="*" , cast=Csv())


SITE_ID = config("SITE_ID", default=1, cast=int)




# Database
# https://docs.djangoproject.com/en/4.1/ref/settings/#databases

DATABASES = {
    "default": {
        "ENGINE"   : config("POSTGRES_ENGINE", default="django.db.backends.sqlite3", cast=str),
        "NAME"     : config("POSTGRES_DB", default=(BASE_DIR/"db.sqlite3"), cast=str),
        "USER"     : config("POSTGRES_USER", default="user", cast=str),
        "PASSWORD" : config("POSTGRES_PASSWORD", default="password", cast=str),
        "HOST"     : config("POSTGRES_HOST", default="localhost", cast=str),
        "PORT"     : config("POSTGRES_PORT", default="5432", cast=int),
    },
}

print("DATABASE: ",DATABASES)

# Celery Configuration Options for development
CELERY_ACCEPT_CONTENT           = ['application/json']
CELERY_RESULT_SERIALIZER        = 'json'
CELERY_TASK_SERIALIZER          = 'json'
CELERY_TASK_DEFAULT_QUEUE       = 'default'
CELERY_BROKER_URL               = 'redis://redis:6379/0'

# Using the database to store task state and results.
CELERY_RESULT_BACKEND           = None
CELERY_TASK_ANNOTATIONS         = {'*': {'default_retry_delay': 5, 'max_retries': 12}}
TASK_ACKS_LATE                  = True
WORKER_PREFETCH_MULTIPLIER      = 1

LOGIN_REDIRECT_URL = "/dashboard"