Nassiraaa commited on
Commit
b8f7e72
1 Parent(s): 10bf3a0

Update get_supabase.py

Browse files
Files changed (1) hide show
  1. get_supabase.py +37 -18
get_supabase.py CHANGED
@@ -1,27 +1,46 @@
1
  import os
2
- from supabase import create_client,Client
3
- from dotenv import load_dotenv
 
4
 
5
- class Supabase :
6
  def __init__(self):
7
- pass
8
 
9
- def init_supabase_client(self):
10
  load_dotenv()
11
  try:
12
- client :Client = create_client(os.getenv("SUPABASE_URL"),os.getenv("SUPABASE_KEY"))
13
-
14
- return client
15
- except Exception as e :
16
  print(f"Error initializing Supabase client: {e}")
17
  return None
18
 
19
- def download_bucket_storage(self,bucket_name):
20
- client = self.init_supabase_client()
21
- files_list = client.storage.from_(bucket_name).list()
22
- for file in files_list :
23
- client.storage.from_(bucket_name).download(file)
24
-
25
- L = Supabase()
26
- print(L.init_supabase_client())
27
- L.download_bucket_storage("CVs")
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
  import os
2
+ from supabase import create_client, Client
3
+ from dotenv import load_dotenv
4
+ from storage3.utils import StorageException
5
 
6
+ class Supabase:
7
  def __init__(self):
8
+ self.client = None
9
 
10
+ def init_supabase_client(self):
11
  load_dotenv()
12
  try:
13
+ self.client = create_client(os.getenv("SUPABASE_URL"), os.getenv("SUPABASE_KEY"))
14
+ return self.client
15
+ except Exception as e:
 
16
  print(f"Error initializing Supabase client: {e}")
17
  return None
18
 
19
+ def download_bucket_storage(self, bucket_name, download_path='.'):
20
+ if not self.client:
21
+ self.init_supabase_client()
22
+
23
+ if not self.client:
24
+ print("Failed to initialize Supabase client.")
25
+ return
26
+
27
+ try:
28
+ files_list = self.client.storage.from_(bucket_name).list()
29
+ for file in files_list:
30
+ file_name = file['name']
31
+ try:
32
+ with open(os.path.join(download_path, file_name), 'wb+') as f:
33
+ res = self.client.storage.from_(bucket_name).download(file_name)
34
+ f.write(res)
35
+ print(f"Successfully downloaded: {file_name}")
36
+ except StorageException as se:
37
+ print(f"Error downloading {file_name}: {se}")
38
+ except Exception as e:
39
+ print(f"Unexpected error downloading {file_name}: {e}")
40
+ except Exception as e:
41
+ print(f"Error listing files in bucket {bucket_name}: {e}")
42
+
43
+ # Example usage
44
+ if __name__ == "__main__":
45
+ supabase = Supabase()
46
+ supabase.download_bucket_storage("CVs")