U
    9d                     @   s   d dl Z d dlZd dlmZ d dlmZ d dlmZmZm	Z	 d dl
Z
d dlZd dlZd dlmZ d dlmZ d dlmZ d dlZd dlmZ eeZG d	d
 d
eZG dd deZdS )    N)View)settings)renderredirectHttpResponseRedirectcredentials)build)MediaFileUpload)ProcessedMediac                   @   s   e Zd Zdd ZdS )YoutubeAuthorizec                 O   s\   |j jstdS tjjjtjtj	d}tj
|_|jddd\}}||jd< ||jd< t|S )Naccounts:signin)scopesZofflinetrue)Zaccess_typeZinclude_granted_scopesmedia_idstate)useris_authenticatedr   google_auth_oauthlibflowFlowfrom_client_secrets_filer   	JSON_PATHSCOPESREDIRECT_URIredirect_uriauthorization_urlsessionr   )selfrequestr   argskwargsr   r   r    r"   6/var/www/html/UseVoiceDocker/src/apps/uploads/views.pyget   s    
	

zYoutubeAuthorize.getN__name__
__module____qualname__r$   r"   r"   r"   r#   r      s   r   c                   @   s   e Zd Zdd ZdS )YoutubeCallBackc                 O   s$  |j jstdS |jd }tjjjtj	d |d}tj
|_| }|j|d t| |j}d }z*tjj|jd d}td|j  W n tk
r   d }Y nX i }	i |	d< |jj |	d d	< i |	d
< d|	d
 d< tdd|d}
|
 jd|	t|j d }td td|  tdS )Nr   r   )r   r   )authorization_responser   )idzVideo will be uploaded: snippettitlestatusprivateZprivacyStatusyoutubev3r   zsnippet,status)partbodyZ
media_bodyi`  zYoutube Upload Respense : zlanding:dashboard) r   r   r   r   r   r   r   r   r   r   r   r   get_full_pathZfetch_tokenprintr   r   objectsr$   logginginfo
video_pathKeyErrormediar-   r	   videosinsertr
   executesocketsetdefaulttimeout)r   r   r    r!   r   r   r*   r   final_videodataZresponse_uploadZrequest_uploadr"   r"   r#   r$   .   s:    




zYoutubeCallBack.getNr%   r"   r"   r"   r#   r)   -   s   r)   )r?   r7   django.viewsr   django.confr   django.shortcutsr   r   r   r   Zgoogle.oauth2.credentialsZgoogleZgoogleapiclient.discoveryZgoogleapiclientZgoogle.oauth2r   r	   Zgoogleapiclient.httpr
   Zapps.process.modelsr   	getLogger__file__loggerr   r)   r"   r"   r"   r#   <module>   s   
