o
    Cis                     @   s   d dl 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mZ d dlmZ d dlZeejd Zeed	 d
d ZG dd de
ZdS )    N)load_dotenv)Path)Application)settings)BaseCommand)Fernetz.env)dotenv_pathc                 C   s   d}g }|  r@t|d}| }W d    n1 sw   Y  t|D ]\}}||  dr?|  d| d||< d} nq%|sM||  d| d t|d}|| W d    d S 1 scw   Y  d S )NFr=
Tw)existsopen	readlines	enumerate
startswithappend
writelines)keyvalueenv_pathupdatedlinesfileiline r   L/var/www/Datamplify/authentication/management/commands/Create_Application.pyupdate_env_variable   s"   
"r   c                   @   s   e Zd ZdZdd ZdS )Commandz#Register our Datamplify Applicationc                 O   s   t d}tjjdtjtjtj|d\}}t	
 }td|jt td|t td| t | j| jd|j  | j| jd|j  d S )	N0   
Datamplify)nameclient_typeauthorization_grant_typeredirect_urisclient_secretOAUTH_CLIENT_IDOAUTH_CLIENT_SECRETDB_Fernet_KeyzClient ID: "%s"zClient Secret: "%s")secretstoken_urlsafer   objectsget_or_createCLIENT_CONFIDENTIALGRANT_PASSWORDr   	TOKEN_URLr   generate_keyr   	client_idr   decodestdoutwritestyleSUCCESSr&   )selfargsoptionsr&   appcreated
fernet_keyr   r   r   handle,   s$   

	zCommand.handleN)__name__
__module____qualname__helpr>   r   r   r   r   r   )   s    r   )osdotenvr   pathlibr   oauth2_provider.modelsr   django.confr   django.core.management.baser   r!   cryptography.fernetr   r*   BASE_DIRr   r   r   r   r   r   r   <module>   s    
