
    si                     d    d dl mZ  G d dej                        Z G d dej                        Zy)    )modelsc                       e Zd Z ej                  dd      Z ej                  dd      Z ej                  dd      Z ej                  dd      Z	 ej                  dd      Z
 ej                  dd      Z ej                  dd      Z ej                  dd      Z ej                  d      Z fdZ xZS )	LocalBackup   z@Specify the path in the server were the backup files should keep)
max_length	help_textTblanknullFdefaultc           	         | j                   dk(  rd | _        | j                  dk(  rd | _        d | _        t
        j                  j                         rt
        j                  j                         }| j                  j                  D ]=  }|j                  dk7  st        ||j                  t        | |j                               ? t        t
        |>  |i | |S t        t
        | >  |i | | S NFid)intervalsecondsfixedhourminuter   objectsexistsfirst_metafieldsnamesetattrgetattrsupersaveselfargskwargsexisting_instancefield	__class__s        9/var/www/python-projects/worksol/horilla_backup/models.pyr   zLocalBackup.save   s    ==E!DL::DIDK%%' + 3 3 9 9 ;** V::%-uzz74;TUV +06GG$$ +t)4:6:K    )__name__
__module____qualname__r   	CharFieldbackup_pathBooleanFieldbackup_media	backup_dbr   r   IntegerFieldr   r   r   activer   __classcell__r&   s   @r'   r   r      s    "&""TK '6&&T=L###$T:I"v""D9HFd6E!f!!48G6T5D V  t$7F V  /F r(   r   c                   r    e Zd ZddgZ ej
                  deddd      Z ej                  dd	d
d
d      Z ej
                  dd
d
dd      Z	 ej
                  dd
d
dd      Z
 ej                  d
d
dd      Z ej
                  ddd      Z ej                  d
d
      Z ej                  d
d
      Z ej                  d
d
      Z ej                  d
d
      Z ej&                  d
d
      Z ej&                  d
d
      Z ej&                  d
d
      Z ej                  d      Z fdZ xZS )GoogleDriveBackup)service_accountz'Service Account (Google Workspace only))oauthz(OAuth 2.0 (Personal & Business accounts)   r8   zAuthentication Methodz[Choose OAuth for personal Google accounts or Service Account for Google Workspace accounts.)r   choicesr   verbose_namer   gdrive_service_account_filezService Account FileTziRequired only for Service Account method. Google Service Account JSON file for Google Workspace accounts.)	upload_tor;   r
   r   r   i  zOAuth Client IDz^Required for OAuth method. Get this from Google Cloud Console > APIs & Services > Credentials.)r   r
   r   r;   r   zOAuth Client SecretzOAuth Refresh TokenzIAuto-generated during OAuth authentication process. Do not edit manually.)r
   r   r;   r   r   zGoogle Drive Folder IDzuThe ID of the Google Drive folder where backups will be stored. You can get this from the folder URL in Google Drive.)r   r;   r   r	   Fr   c           	         | j                   dk(  rd | _        | j                  dk(  rd | _        d | _        t
        j                  j                         rt
        j                  j                         }| j                  j                  D ]=  }|j                  dk7  st        ||j                  t        | |j                               ? t        t
        |>  |i | |S t        t
        | >  |i | | S r   )r   r   r   r   r   r6   r   r   r   r   r   r   r   r   r   r   r    s        r'   r   zGoogleDriveBackup.saveg   s    ==E!DL::DIDK$$++- 1 9 9 ? ? A** V::%-uzz74;TUV #%6<dMfM$$ #T/@@Kr(   )r)   r*   r+   AUTH_METHOD_CHOICESr   r,   auth_method	FileFieldservice_account_fileoauth_client_idoauth_client_secret	TextFieldoauth_refresh_tokengdrive_folder_idr.   r/   r0   r   r   r1   r   r   r   r2   r   r3   r4   s   @r'   r6   r6   +   s   F=
 #&""#,oK ,6++/+} 'f&&&rO +&***r +&***]	 (v''-I '6&&T=L###$T:I"v""D9HFd6E!f!!48G6T5D V  t$7F V  /F r(   r6   N)	django.dbr   Modelr   r6    r(   r'   <module>rK      s+    
"&,, "JP Pr(   