Spaces:
Runtime error
Runtime error
| import os | |
| from google.oauth2 import service_account | |
| from googleapiclient.discovery import build | |
| from googleapiclient.http import MediaFileUpload | |
| from datetime import datetime | |
| def save_logs(query,response, folder_id = ""): | |
| to_save = f"LOG ENTRY\nQUERY\n{query}\n=================================\nRESPONSE\n{response}\n****************************************\n" | |
| # Get the current date and time | |
| now = datetime.now() | |
| filename = str(now).replace(":","").replace(" ","").replace("-","").replace(".","")+".txt" | |
| with open(filename, 'w') as file: | |
| file.write(to_save) | |
| # Path to the service account key file | |
| SERVICE_ACCOUNT_FILE = 'secret_google_service_account.json' | |
| # Define the required scopes | |
| SCOPES = ['https://www.googleapis.com/auth/drive.file'] | |
| # Authenticate using the service account key file | |
| credentials = service_account.Credentials.from_service_account_file( | |
| SERVICE_ACCOUNT_FILE, scopes=SCOPES) | |
| # Build the Google Drive API client | |
| service = build('drive', 'v3', credentials=credentials) | |
| # Specify the folder ID where you want to upload the file | |
| # Metadata of the file to be uploaded | |
| file_metadata = { | |
| 'name': filename, # Name of the file to be uploaded | |
| 'parents': [folder_id] # Folder ID | |
| } | |
| # Path to the file you want to upload | |
| file_path = filename | |
| # Create a MediaFileUpload object to upload the file | |
| media = MediaFileUpload(file_path, mimetype='text/plain') | |
| # Use the Drive API to upload the file | |
| file = service.files().create( | |
| body=file_metadata, | |
| media_body=media, | |
| fields='id' | |
| ).execute() | |
| # Print the file ID of the uploaded file | |
| print('Saved in Google Drive - File ID: %s' % file.get('id')) |