Spaces:
Runtime error
Runtime error
| from google.cloud import storage | |
| import os | |
| import json | |
| from google.cloud import storage | |
| class CloudStorageManager: | |
| def __init__(self, bucket_name): | |
| self.client = storage.Client() | |
| self.bucket_name = bucket_name | |
| def upload_file(self, file_path, destination_file_name): | |
| bucket = self.client.bucket(self.bucket_name) | |
| blob = bucket.blob(destination_file_name) | |
| blob.upload_from_filename(file_path) | |
| print(f'File {destination_file_name} uploaded to {self.bucket_name}.') | |
| def download_file(self, source_file_name, destination_path): | |
| bucket = self.client.bucket(self.bucket_name) | |
| blob = bucket.blob(source_file_name) | |
| blob.download_to_filename(destination_path) | |
| print(f'File {source_file_name} downloaded to {destination_path}.') | |
| def delete_file(self, file_name): | |
| bucket = self.client.bucket(self.bucket_name) | |
| blob = bucket.blob(file_name) | |
| blob.delete() | |
| print(f'File {file_name} deleted from {self.bucket_name}.') | |
| def get_file_by_uuid(self, uuid): | |
| bucket = self.client.bucket(self.bucket_name) | |
| blobs = bucket.list_blobs(prefix=uuid) | |
| for blob in blobs: | |
| if blob.name.endswith('.glb'): | |
| return blob.name | |
| return None | |
| def main(): | |
| SERVICE_ACOUNT_STUFF = os.getenv('GOOGLE_APPLICATION_CREDENTIALS_JSON') | |
| # https://stackoverflow.com/questions/71878229/initializing-firebase-admin-via-environment-variables-without-storing-serviceacc | |
| key_dict = json.loads( | |
| os.environ["GOOGLE_APPLICATION_CREDENTIALS_JSON"] | |
| ) | |
| SERVICE_ACOUNT_STUFF = os.getenv('GOOGLE_APPLICATION_CREDENTIALS_JSON') | |
| # fire_app = firebase_admin.initialize_app(Certificate(key_dict)) | |
| # Initialize Google Cloud Storage client | |
| client = storage.Client() | |
| bucket_name = os.getenv('GOOGLE_BUCKET_NAME') | |
| manager = CloudStorageManager(bucket_name) | |
| # uuid = '9ca1555c-e8ca-4111-a084-1a2374b2e6bd' | |
| # uuid = '9ca1555c-e8ca-4111-a084-1a2374b2e6bd'.replace("-","") | |
| uuid = "506bb34a122a4bea86a64f96933f6bbd" | |
| xx = manager.get_file_by_uuid(uuid) | |
| # manager.upload_file( | |
| # "506bb34a122a4bea86a64f96933f6bbd.glb", | |
| # "506bb34a122a4bea86a64f96933f6bbd.glb" | |
| # ) | |
| manager.download_file( | |
| xx, | |
| xx | |
| ) | |
| x = 0 | |
| # Example usage | |
| # manager.upload_file("/home/isayahc/projects/Hackathon-Projects/Maker-Tech-Tree/7698996e43bf4aa1ba98f5dd0bf77000.glb", "7698996e43bf4aa1ba98f5dd0bf77000.glb") | |
| # manager.download_file('your-file.glb', 'path/to/save/your/file.glb') | |
| # manager.delete_file('your-file.glb') | |
| if __name__ == "__main__": | |
| main() | |