o
    i                     @   sF   d dl mZ d dlmZ d dlmZ d dlmZ G dd deeZdS )   )ApiAttributeMixin)GoogleDriveFile)GoogleDriveFileList)LoadAuthc                   @   s:   e Zd ZdZdddZdddZdddZed	d
 ZdS )GoogleDrivezMain Google Drive class.Nc                 C   s   t |  || _dS )zCreate an instance of GoogleDrive.

    :param auth: authorized GoogleAuth instance.
    :type auth: pydrive.auth.GoogleAuth.
    N)r   __init__auth)selfr    r
   H/var/www/edux/Edux_v2/venv/lib/python3.10/site-packages/pydrive/drive.pyr   
   s   

zGoogleDrive.__init__c                 C      t | j|dS )a8  Create an instance of GoogleDriveFile with auth of this instance.

    This method would not upload a file to GoogleDrive.

    :param metadata: file resource to initialize GoogleDriveFile with.
    :type metadata: dict.
    :returns: pydrive.files.GoogleDriveFile -- initialized with auth of this instance.
    )r   metadata)r   r   )r	   r   r
   r
   r   
CreateFile      	zGoogleDrive.CreateFilec                 C   r   )a(  Create an instance of GoogleDriveFileList with auth of this instance.

    This method will not fetch from Files.List().

    :param param: parameter to be sent to Files.List().
    :type param: dict.
    :returns: pydrive.files.GoogleDriveFileList -- initialized with auth of this instance.
    )r   param)r   r   )r	   r   r
   r
   r   ListFile   r   zGoogleDrive.ListFilec                 C   s   | j j  j| jdS )zReturn information about the Google Drive of the auth instance.

    :returns: A dictionary of Google Drive information like user, usage, quota etc.
    )http)r   serviceaboutgetexecuter   )r	   r
   r
   r   GetAbout)   s   zGoogleDrive.GetAbout)N)	__name__
__module____qualname____doc__r   r   r   r   r   r
   r
   r
   r   r      s    

	
r   N)	apiattrr   filesr   r   r   r   objectr   r
   r
   r
   r   <module>   s
    