o
    c                     @   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                   @      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)scopesofflinetrue)access_type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&   7/var/www/html/docker_usevoice/src/apps/uploads/views.pyget   s   

	
zYoutubeAuthorize.getN__name__
__module____qualname__r(   r&   r&   r&   r'   r          r   c                   @   r   )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yO   d }Y nw 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privateprivacyStatusyoutubev3r   zsnippet,status)partbody
media_bodyi`  zYoutube Upload Respense : zlanding:dashboard) r   r   r   r!   r   r   r   r   r   r   r   r   get_full_pathfetch_tokenprintr   r   objectsr(   logginginfo
video_pathKeyErrormediar2   r	   videosinsertr
   executesocketsetdefaulttimeout)r"   r#   r$   r%   r   r   r/   r   final_videodataresponse_uploadrequest_uploadr&   r&   r'   r(   .   s@   


zYoutubeCallBack.getNr)   r&   r&   r&   r'   r.   -   r-   r.   )rG   r?   django.viewsr   django.confr   django.shortcutsr   r   r   r   google.oauth2.credentialsgooglegoogleapiclient.discoverygoogleapiclientgoogle.oauth2r   r	   googleapiclient.httpr
   apps.process.modelsr   	getLogger__file__loggerr   r.   r&   r&   r&   r'   <module>   s    
