File size: 3,060 Bytes
28a2563
2895710
a801eec
b38f031
 
a801eec
 
 
b38f031
2895710
b38f031
 
 
 
 
2895710
b38f031
 
 
 
 
2895710
b38f031
 
 
 
 
 
 
 
 
 
 
 
 
2895710
b38f031
a801eec
28a2563
a801eec
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
bd2f975
 
a801eec
2895710
a801eec
 
2895710
a801eec
 
bd2f975
28a2563
a801eec
bd2f975
28a2563
a801eec
bd2f975
28a2563
a801eec
bd2f975
 
 
 
 
 
28a2563
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
from google.cloud import storage
import json
import os

class CloudStorageManager:
    def __init__(self, bucket_name, credentials_str):
        credentials_dict = json.loads(credentials_str)
        self.client = storage.Client.from_service_account_info(credentials_dict)
        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():
    # Replace 'your_bucket_name' with your actual bucket name

    # Replace 'your_credentials_str' with your actual credentials string
    # credentials_str = """
    # {
    #     "type": "service_account",
    #     "project_id": "your_project_id",
    #     "private_key_id": "your_private_key_id",
    #     "private_key": "-----BEGIN PRIVATE KEY-----\nYourPrivateKey\n-----END PRIVATE KEY-----\n",
    #     "client_email": "your_client_email",
    #     "client_id": "your_client_id",
    #     "auth_uri": "https://accounts.google.com/o/oauth2/auth",
    #     "token_uri": "https://oauth2.googleapis.com/token",
    #     "auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs",
    #     "client_x509_cert_url": "your_client_x509_cert_url"
    # }
    # """
    
    bucket_name = os.getenv('GOOGLE_BUCKET_NAME')
    
    credentials_str = SERVICE_ACOUNT_STUFF = os.getenv('GOOGLE_APPLICATION_CREDENTIALS_JSON')

    # Create an instance of CloudStorageManager
    storage_manager = CloudStorageManager(bucket_name, credentials_str)

    # Example usage:
    # Upload a file
    # storage_manager.upload_file('local_file_path', 'destination_file_name')

    # Download a file
    # storage_manager.download_file('source_file_name', 'local_destination_path')

    # Delete a file
    # storage_manager.delete_file('file_name_to_delete')

    # Get file by UUID
    # uuid = 'your_uuid'
    # file_name = storage_manager.get_file_by_uuid(uuid)
    # if file_name:
    #     print(f"File with UUID '{uuid}' found: {file_name}")
    # else:
    #     print(f"No file found with UUID '{uuid}'")


if __name__ == "__main__":
    main()