Spaces:
Sleeping
Sleeping
| from googleapiclient.discovery import build | |
| from googleapiclient.http import MediaFileUpload | |
| from google.oauth2 import service_account | |
| import json | |
| import os | |
| def upload_to_drive(local_path, filename): | |
| creds_dict = json.loads(os.environ["GOOGLE_CREDS_JSON"]) | |
| creds = service_account.Credentials.from_service_account_info(creds_dict) | |
| service = build("drive", "v3", credentials=creds) | |
| file_metadata = { | |
| "name": filename, | |
| "parents": ["1RQx-f1UGOAY248bCIRasenJiQCHsD4Eq"] | |
| } | |
| media = MediaFileUpload(local_path, mimetype="application/zip") | |
| try: | |
| uploaded_file = service.files().create( | |
| body=file_metadata, | |
| media_body=media, | |
| fields="id" | |
| ).execute() | |
| except Exception as e: | |
| import traceback | |
| st.error("Upload failed:") | |
| st.code(traceback.format_exc()) | |
| raise | |
| return uploaded_file.get("id") | |