U
    gw                     @   s:  d dl mZ d dl mZ d dlmZ d dlmZ d dlmZ d dl	m
Z
 d dlZd dlZd dlZd dlZd dlmZ d d	lmZ eeZee ejd
 e
eZe Zee eeejd jZedej ej ejd dZ!d dl"m#Z# ej$ddedd Z%ej&'e% dd Z(e)e*dd Z+dS )    )absolute_import)print_function)Flask)with_appcontext)	Principal)
SQLAlchemyN)LoginManager)loggingutilsconfigZLOGGING_LOCATION_APPzfaker.factoryZSENDGRID_KEY)Zapi_key)viewszdb-seed)namec                  C   s   ddl m}  |  }|  d S )Nr   )Campaign)Zmigrations.seeders.campaignr   Zcreate_campaigns)r   Zcampaign_seeder r   (/var/www/dostadmin/dostadmin/__init__.pydb_seed)   s    r   c                 C   s8   t jd  }tjjjt jd t jd d| d | dS )NZSERVER_TYPEZDEFAULT_FROM_EMAIL[z,] - Dost Admin unhandled exception occurred!)Z
from_emailZ	to_emailsZsubjectZplain_text_content)appr
   uppersendgridZhelpersZmailZMail)Z
email_textZdost_environmentr   r   r   create_message5   s    
r   c              
   C   sR   t  }ztt|}t| W n* tk
rL } zt| W 5 d }~X Y nX | S )N)	tracebackZ
format_excsgsendr   print	Exception)eZerror_tbZrespexcr   r   r   
handle_500?   s    r   ),
__future__r   r   Zflaskr   Z	flask.clir   Zflask_principalr   Zflask_sqlalchemyr   Zclickloggingr   r   Zflask_loginr   Zutilsr	   __name__r   r
   Zfrom_objectdbZlogin_managerZinit_appZLoggingUtilsZlogger
app_loggerZ	getLoggerZsetLevelZERRORZSendGridAPIClientr   	dostadminr   Zcommandr   ZcliZadd_commandr   Zerrorhandlerr   r   r   r   r   r   <module>   s>   
 

