o
    YhB                     @   sV  d Z ddlZddlmZ ddlmZ ee jjZ	edde
dZedd	edZed
ddd dZg dZg dZddgZee e Zg dZg Zee ZdZde	d gd	dg didgZdZdedde
dede	d e
dedd e
ded!d e
ded"d e
ded#d e
dedd e
dd$rd%d&ini d'iZd(Zd)d*id+d,d-id.d)d/id)d0igZed1d2e
dZed3d4e
dZd	Zd	Z d	Z!d	Z"d5Z#e	d6 Z$e	d7 gZ%d8Z&e	d9 Z'd:Z(d;Z)ed<d=e*dZ+d	Z,d>Z-ed?d@dAd dZ.edBd	edZ/d	Z0dCdDgdEgdFdGg dHdIdJgdKZ1edLdMe
dZ2edNdOe
dZ3edPdQe*dZ4edRd e
dZ5edSd e
dZ6edTdUedZ7edVdWe
dZ8edXdYe
dZ9edZdYe
dZ:d[gZ;d[Z<d[Z=eZ>d\Z?d;dUd]d^d_d`d^d_dadbdce	dd de dfdgddhdidjdkdldmgdndodldmgdbdUdpdldmgddUdpdmdlgddUdpdqdrZ@edsd dtedud dtedvdwdtdxZAedyd dtedzd dted{d dted|d}e*dd~ZBedde*dedde*dedde*ddZCedddtZDedde*dZEedde*dZFdZGedde*dedde*dedde*dg dg dedsd dtedud dtedyd dted|d}e*dedzd dted{d dtedde*ddedddtedde*dedde*ddedde*dedde*ddd
ZHg dg ddZIedde*dZJeddeKdZLedde*dZMedde*dZNedddtedddtedddtedddtdZOeddUedZPedddd dZQeredg7 Zedg7 ZddOgZRddd iZSdS dS )a  
Django settings for Adtlas DAI Management System.

This file contains all the configuration settings for the Adtlas project.
The project is designed for Dynamic Ad Insertion (DAI) management in broadcast television.

For more information on this file, see:
https://docs.djangoproject.com/en/4.2/topics/settings/

For the full list of settings and their values, see:
https://docs.djangoproject.com/en/4.2/ref/settings/
    N)Path)config
SECRET_KEYz'django-insecure-change-me-in-production)defaultcastDEBUGTALLOWED_HOSTSz127.0.0.1,localhostc                 C      dd |  dD S )Nc                 S      g | ]}|  qS  strip.0sr   r   ?C:\Users\vibe-look\OneDrive\Desktop\Adtlas\src\core\settings.py
<listcomp>!       <lambda>.<locals>.<listcomp>,splitvr   r   r   <lambda>!   r   r   )zdjango.contrib.adminzdjango.contrib.authzdjango.contrib.contenttypeszdjango.contrib.sessionszdjango.contrib.messageszdjango.contrib.staticfileszdjango.contrib.sites)Zrest_frameworkZcorsheadersZdjango_filtersZdjango_extensionsZdjango_celery_beatZdjango_celery_resultsz	apps.corezapps.accounts)z%corsheaders.middleware.CorsMiddlewarez-django.middleware.security.SecurityMiddlewarez4django.contrib.sessions.middleware.SessionMiddlewarez)django.middleware.common.CommonMiddlewarez)django.middleware.csrf.CsrfViewMiddlewarez7django.contrib.auth.middleware.AuthenticationMiddlewarez4django.contrib.messages.middleware.MessageMiddlewarez6django.middleware.clickjacking.XFrameOptionsMiddlewarez	core.urlsz/django.template.backends.django.DjangoTemplates	templatesZcontext_processors)z(django.template.context_processors.debugz*django.template.context_processors.requestz+django.contrib.auth.context_processors.authz3django.contrib.messages.context_processors.messages)BACKENDZDIRSZAPP_DIRSOPTIONSzcore.wsgi.applicationr   Z	DB_ENGINEzdjango.db.backends.sqlite3ZDB_NAMEz
db.sqlite3ZDB_USER ZDB_PASSWORDZDB_HOSTZDB_PORTZmysqlcharsetZutf8mb4)ENGINENAMEUSERPASSWORDHOSTPORTr   zaccounts.Userr!   zHdjango.contrib.auth.password_validation.UserAttributeSimilarityValidatorz>django.contrib.auth.password_validation.MinimumLengthValidatorZ
min_length   )r!   r   z?django.contrib.auth.password_validation.CommonPasswordValidatorz@django.contrib.auth.password_validation.NumericPasswordValidatorLANGUAGE_CODEzen-us	TIME_ZONEZUTCz/static/staticfilesZstaticz/media/Zmediazdjango.db.models.BigAutoField   SESSION_EXPIRE_SECONDSi   z/auth/login/CORS_ALLOWED_ORIGINSz+http://localhost:3000,http://127.0.0.1:3000c                 C   r	   )Nc                 S   r
   r   r   r   r   r   r   r      r   r   r   r   r   r   r   r   r      r   CORS_ALLOW_ALL_ORIGINSz3rest_framework.authentication.SessionAuthenticationz1rest_framework.authentication.TokenAuthenticationz*rest_framework.permissions.IsAuthenticatedz.rest_framework.pagination.PageNumberPagination   )z1django_filters.rest_framework.DjangoFilterBackendz#rest_framework.filters.SearchFilterz%rest_framework.filters.OrderingFilterz%rest_framework.renderers.JSONRendererz-rest_framework.renderers.BrowsableAPIRenderer)ZDEFAULT_AUTHENTICATION_CLASSESZDEFAULT_PERMISSION_CLASSESZDEFAULT_PAGINATION_CLASSZ	PAGE_SIZEZDEFAULT_FILTER_BACKENDSZDEFAULT_RENDERER_CLASSESEMAIL_BACKENDz+django.core.mail.backends.smtp.EmailBackend
EMAIL_HOST	localhost
EMAIL_PORT   EMAIL_HOST_USEREMAIL_HOST_PASSWORDEMAIL_USE_TLSFDEFAULT_FROM_EMAILznoreply@adtlas.comCELERY_BROKER_URLzredis://localhost:6379/0CELERY_RESULT_BACKENDZjsonz/django_celery_beat.schedulers:DatabaseSchedulerz?{levelname} {asctime} {module} {process:d} {thread:d} {message}{)formatstylez{levelname} {message})verbosesimpleINFOzlogging.FileHandlerZlogsz
adtlas.logr=   )levelclassfilename	formatterzlogging.StreamHandlerr>   )r@   rA   rC   )fileconsolerE   rD   WARNING)handlersr@   )rG   r@   	propagate)djangoZadtlasapps)versionZdisable_existing_loggersZ
formattersrG   rootZloggersTELEGRAM_BOT_TOKEN)r   TELEGRAM_CHAT_IDZTELEGRAM_CHANNEL_NAMEZadtlas_notifications)Z	bot_tokenZchat_idZchannel_nameZFTP_HOSTZFTP_USERZFTP_PASSWORDZFTP_PORT   )hostuserpasswordportZVAST_TIMEOUT   ZVAST_MAX_WORKERSd   ZVAST_RETRY_ATTEMPTS   )timeoutmax_workersZretry_attemptsAPP_URL_PREFIXz/adtlas/FILE_UPLOAD_MAX_MEMORY_SIZEi   DATA_UPLOAD_MAX_MEMORY_SIZEi  MAX_CAMPAIGN_DURATION_DAYSim  DEFAULT_AD_SPOT_DURATIONMAX_FILE_SIZE_MBi  )mp4avimovZwmvZflv)mp3wavaacZoggZFTP_TIMEOUT)r$   r%   r"   r#   TIMEOUTZVAST_VERSIONz4.0
   ZVAST_MAX_REDIRECTS   )VERSIONre   ZMAX_REDIRECTSANALYTICS_RETENTION_DAYSANALYTICS_BATCH_SIZEi  )ZRETENTION_DAYSZ
BATCH_SIZE)
r\   r]   r^   ZSUPPORTED_VIDEO_FORMATSZSUPPORTED_AUDIO_FORMATSrM   rN   ZFTP_SETTINGSZVAST_SETTINGSZANALYTICS_SETTINGS)r_   r`   ra   ts)rb   rc   rd   )ZvideoZaudioCAMPAIGN_DEFAULT_DURATIONCAMPAIGN_MAX_BUDGETg    .ADEFAULT_RATE_LIMITz100/hourLOGIN_RATE_LIMITz5/minuteAPI_RATE_LIMITz	1000/hourUPLOAD_RATE_LIMITz	10/minute)rn   ro   rp   rq   MAINTENANCE_MODEMAINTENANCE_ALLOWED_IPSc                 C   r	   )Nc                 S   r
   r   r   r   r   r   r   r     r   r   r   r   r   r   r   r   r     r   Zdebug_toolbarz/debug_toolbar.middleware.DebugToolbarMiddlewarez	127.0.0.1ZSHOW_TOOLBAR_CALLBACKc                 C   s   t S )N)r   )requestr   r   r   r     s    )T__doc__ospathlibr   Zdecoupler   __file__resolveparentZBASE_DIRstrr   boolr   r   ZDJANGO_APPSZTHIRD_PARTY_APPSZ
LOCAL_APPSINSTALLED_APPSZDJANGO_MIDDLEWAREZLOCAL_MIDDLEWARE
MIDDLEWAREROOT_URLCONF	TEMPLATESWSGI_APPLICATIONendswith	DATABASESAUTH_USER_MODELAUTH_PASSWORD_VALIDATORSr'   r(   USE_I18NZUSE_L10NUSE_TZUSE_THOUSAND_SEPARATOR
STATIC_URLSTATIC_ROOTSTATICFILES_DIRS	MEDIA_URL
MEDIA_ROOTDEFAULT_AUTO_FIELDZSITE_IDintr+   Z"SESSION_EXPIRE_AFTER_LAST_ACTIVITYZSESSION_TIMEOUT_REDIRECTr,   r-   ZCORS_ALLOW_CREDENTIALSZREST_FRAMEWORKr/   r0   r2   r4   r5   r6   r7   r8   r9   ZCELERY_ACCEPT_CONTENTZCELERY_TASK_SERIALIZERZCELERY_RESULT_SERIALIZERZCELERY_TIMEZONEZCELERY_BEAT_SCHEDULERLOGGINGZTELEGRAMZ
FTP_CONFIGZVAST_CONFIGrY   rZ   r[   FILE_UPLOAD_PERMISSIONSZADTLAS_SETTINGSZAD_ENCODING_FORMATSrl   floatrm   ri   rj   ZRATE_LIMIT_SETTINGSrr   rs   INTERNAL_IPSZDEBUG_TOOLBAR_CONFIGr   r   r   r   <module>   s  	

6

















