@@ -37,15 +37,15 @@ class Folder(Tidy3DResource, Queryable, extra=Extra.allow):
37
37
)
38
38
39
39
@classmethod
40
- def list (cls ) -> []:
40
+ def list (cls , project_endpoint : str = "tidy3d/project" ) -> []:
41
41
"""List all folders.
42
42
43
43
Returns
44
44
-------
45
45
folders : [Folder]
46
46
List of folders
47
47
"""
48
- resp = http .get ("tidy3d/projects" )
48
+ resp = http .get (project_endpoint )
49
49
return (
50
50
parse_obj_as (
51
51
list [Folder ],
@@ -56,7 +56,7 @@ def list(cls) -> []:
56
56
)
57
57
58
58
@classmethod
59
- def get (cls , folder_name : str , create : bool = False ):
59
+ def get (cls , folder_name : str , create : bool = False , project_endpoint : str = "tidy3d/project" ):
60
60
"""Get folder by name.
61
61
62
62
Parameters
@@ -72,11 +72,11 @@ def get(cls, folder_name: str, create: bool = False):
72
72
"""
73
73
folder = FOLDER_CACHE .get (folder_name )
74
74
if not folder :
75
- resp = http .get ("tidy3d/project" , params = {"projectName" : folder_name })
75
+ resp = http .get (project_endpoint , params = {"projectName" : folder_name })
76
76
if resp :
77
77
folder = Folder (** resp )
78
78
if create and not folder :
79
- resp = http .post ("tidy3d/projects" , {"projectName" : folder_name })
79
+ resp = http .post (project_endpoint , {"projectName" : folder_name })
80
80
if resp :
81
81
folder = Folder (** resp )
82
82
FOLDER_CACHE [folder_name ] = folder
@@ -97,10 +97,10 @@ def create(cls, folder_name: str):
97
97
"""
98
98
return Folder .get (folder_name , True )
99
99
100
- def delete (self ):
100
+ def delete (self , project_endpoint : str = "tidy3d/project" ):
101
101
"""Remove this folder."""
102
102
103
- http .delete (f"tidy3d/projects /{ self .folder_id } " )
103
+ http .delete (f"{ project_endpoint } /{ self .folder_id } " )
104
104
105
105
def delete_old (self , days_old : int ) -> int :
106
106
"""Remove folder contents older than ``days_old``."""
@@ -110,15 +110,15 @@ def delete_old(self, days_old: int) -> int:
110
110
params = {"daysOld" : days_old },
111
111
)
112
112
113
- def list_tasks (self ) -> list [Tidy3DResource ]:
113
+ def list_tasks (self , project_endpoint : str = "tidy3d/project" ) -> list [Tidy3DResource ]:
114
114
"""List all tasks in this folder.
115
115
116
116
Returns
117
117
-------
118
118
tasks : List[:class:`.SimulationTask`]
119
119
List of tasks in this folder
120
120
"""
121
- resp = http .get (f"tidy3d/projects /{ self .folder_id } /tasks" )
121
+ resp = http .get (f"{ project_endpoint } /{ self .folder_id } /tasks" )
122
122
return (
123
123
parse_obj_as (
124
124
list [SimulationTask ],
@@ -209,6 +209,7 @@ def create(
209
209
simulation_type : str = "tidy3d" ,
210
210
parent_tasks : Optional [list [str ]] = None ,
211
211
file_type : str = "Gz" ,
212
+ project_endpoint : str = "tidy3d/project" ,
212
213
) -> SimulationTask :
213
214
"""Create a new task on the server.
214
215
@@ -243,7 +244,7 @@ def create(
243
244
244
245
folder = Folder .get (folder_name , create = True )
245
246
resp = http .post (
246
- f"tidy3d/projects /{ folder .folder_id } /tasks" ,
247
+ f"{ project_endpoint } /{ folder .folder_id } /tasks" ,
247
248
{
248
249
"taskName" : task_name ,
249
250
"taskType" : task_type ,
0 commit comments