From 9852927471edc15b16133e84de24b410cc3e5784 Mon Sep 17 00:00:00 2001 From: Usman Nasir Date: Mon, 22 Jun 2020 17:40:39 +0500 Subject: [PATCH] minor bug fix for gdrive when token is expired mid process --- plogical/IncScheduler.py | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/plogical/IncScheduler.py b/plogical/IncScheduler.py index 0f1c678cf..63e89dde2 100644 --- a/plogical/IncScheduler.py +++ b/plogical/IncScheduler.py @@ -295,7 +295,26 @@ class IncScheduler(): 'parents': [folderID] } media = MediaFileUpload(completeFileToSend, mimetype='application/gzip', resumable=True) - drive.files().create(body=file_metadata, media_body=media, fields='id').execute() + try: + drive.files().create(body=file_metadata, media_body=media, fields='id').execute() + except: + finalData = json.dumps({'refresh_token': gDriveData['refresh_token']}) + r = requests.post("https://platform.cyberpanel.net/refreshToken", data=finalData + ) + gDriveData['token'] = json.loads(r.text)['access_token'] + + credentials = google.oauth2.credentials.Credentials(gDriveData['token'], + gDriveData['refresh_token'], + gDriveData['token_uri'], + None, + None, + gDriveData['scopes']) + + drive = build('drive', 'v3', credentials=credentials) + drive.files().create(body=file_metadata, media_body=media, fields='id').execute() + + items.auth = json.dumps(gDriveData) + items.save() GDriveJobLogs(owner=items, status=backupSchedule.INFO, message='Backup for %s successfully sent to Google Drive.' % (website.domain)).save()