o
    7ge                     @   sN  d dl m Z  zd dlZd dlmZ e  W n'   e dddkr+d dlZe  ne dddkr=d dlmZ e  Y ddlm	Z	 d d	l
mZmZmZmZmZmZmZmZ d d
lmZ d dlmZmZmZmZmZmZ ddlmZmZmZm Z m!Z! d dl"Z"d dl#m$Z$m%Z%m&Z& d dl'm(Z( d dl)m*Z* d dl)Z)d dl+Z+d dl,Z,e,, Z-e".e d  ee/ddZ0e d e0j d< de0j d< de0j d< de0j d< de0j d< de0j d< e d e0j d< e*d d!e0j d"< e d e0j d#< d$e0j d%< e d&dsd'e0j d(< e d) e0_1e	2e0 e2e0 e d*dree0dd+Z3ej2e0e d d,e ddd- e2e0 e2e0 e0j4ejd.d/d0 e0j4ejd1d/d0 e0j4ejd2d/d0 e0j4e j d3d/d0 e5e!6d4 ej7d5d6 Z8e09d7d8d9 Z:e09d:d;d< Z;e09d=d>d? Z<e09d@dAdB Z=e09dCdDdE Z>e09dFdGdH Z?e0j@dIdJ Z@e0jAdKdL ZAdS )M    )configN)monkeyzwebsockets-modeeventletgevent   )db)Flaskrender_templaterequestsessionurl_forredirectjsonifyg)SSLify)rate_limiterdiscord_apisocketiobabelredis_storelanguage_code_list)apiuseradminembedgateway)get_administrators_listinit_application_settingsget_application_settings)	timedeltazapp-locationstatic)static_folderzdatabase-uriSQLALCHEMY_DATABASE_URIFSQLALCHEMY_TRACK_MODIFICATIONSTRATELIMIT_HEADERS_ENABLEDd   SQLALCHEMY_POOL_RECYCLEi  SQLALCHEMY_POOL_SIZESQLALCHEMY_MAX_OVERFLOWz	redis-uriRATELIMIT_STORAGE_URL   )daysPERMANENT_SESSION_LIFETIME	REDIS_URLi  @ MAX_CONTENT_LENGTHzdisable-samesite-cookie-flagNoneSESSION_COOKIE_SAMESITEz
app-secretz
enable-ssl)	permanentr   )message_queuepath
async_modez/apiz
/templates)
url_prefixtemplate_folderz/adminz/userz/embedz/gatewayc                  C   s*   t jdd } | t v r| S t jt S )Nlang)r
   argsgetr   accept_languages
best_match)
param_lang r>   5/var/www/html/discord/Titan/webapp/titanembeds/app.py
get_locale<   s   
r@   /c                   C      t dS )Nzindex.html.j2r	   r>   r>   r>   r?   indexC      rD   z/aboutc                   C   rB   )Nzabout.html.j2rC   r>   r>   r>   r?   aboutG   rE   rF   z/termsc                   C   rB   )Nzterms_and_conditions.html.j2rC   r>   r>   r>   r?   termsK   rE   rG   z/privacyc                   C   rB   )Nzprivacy_policy.html.j2rC   r>   r>   r>   r?   privacyO   rE   rH   z/votec                   C   s   t dtjdd dS )Nzdiscordbotsorg_vote.html.j2referrer)rI   )r	   r
   r9   r:   r>   r>   r>   r?   voteS   s   rJ   z/global_banned_wordsc                   C   rB   )Nzglobal_banned_words.html.j2rC   r>   r>   r>   r?   global_banned_wordsW   rE   rK   c                   C   s   t   t  d S )N)r   r   init_discordrestr>   r>   r>   r?   before_first_request[   s   rM   c                   C   sl   t t t tdd ttj  ttj j	ddkt
dddko2ttdtt
dd	 td
S )Nzsentry-js-dsn   r   unauthenticatedTFzDiscordBotsOrgVoted/user_idr(   )randomapplication_settingsdevssentry_js_dsn	constantsaf_mode_enabled	dbl_votedapp_start_stamp)rQ   r   r   r   r:   rU   datetimenowdateyearr   boolr   strrX   r>   r>   r>   r?   context_processor`   s   
",r_   )Br   uwsgir   r   	patch_allr:   r   monkey_patchdatabaser   flaskr   r	   r
   r   r   r   r   r   flask_sslifyr   titanembeds.utilsr   r   r   r   r   r   
blueprintsr   r   r   r   r   ostitanembeds.databaser   r   r   titanembeds.constantsrU   rY   r   rQ   timerX   chdir__name__app
secret_keyinit_appsslifyregister_blueprinton_namespaceGatewaylocaleselectorr@   routerD   rF   rG   rH   rJ   rK   rM   r_   r>   r>   r>   r?   <module>   s    
( 



















