Skip to content

Commit 7ecd6fd

Browse files
committed
iterate on backend drives listing to support other providers
1 parent b02b526 commit 7ecd6fd

File tree

1 file changed

+24
-13
lines changed

1 file changed

+24
-13
lines changed

jupyter_drives/managers/manager.py

Lines changed: 24 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -66,24 +66,35 @@ async def list_drives(self):
6666
S3Drive = get_driver(Provider.S3)
6767
drives = [S3Drive(self._config.access_key_id, self._config.secret_access_key)]
6868

69-
results = []
70-
for drive in drives:
71-
results += drive.list_containers()
69+
elif self._config.provider == 'gcs':
70+
GCSDrive = get_driver(Provider.GOOGLE_STORAGE)
71+
drives = [GCSDrive(self._config.access_key_id, self._config.secret_access_key)] # verfiy credentials needed
7272

73-
for result in results:
74-
data.append(
75-
{
73+
else:
74+
response = {
75+
"message": "Listing drives not supported for given provider.",
76+
"code": 501
77+
}
78+
return response
79+
80+
results = []
81+
for drive in drives:
82+
results += drive.list_containers()
83+
84+
for result in results:
85+
data.append(
86+
{
7687
"name": result.name,
7788
"region": result.driver.region,
7889
"creation_date": result.extra["creation_date"],
7990
"status": "inactive",
80-
"provider": "S3"
81-
}
82-
)
83-
response = {
84-
"data": data,
85-
"code": 200
86-
}
91+
"provider": self._config.provider
92+
}
93+
)
94+
response = {
95+
"data": data,
96+
"code": 200
97+
}
8798
else:
8899
response = {"code": 400, "message": "No credentials specified. Please set them in your user jupyter_server_config file."}
89100
raise tornado.web.HTTPError(

0 commit comments

Comments
 (0)