@@ -10,6 +10,53 @@ def __init__(self, client, project_folder_id):
1010 self .client = client
1111 self .project_folder_id = project_folder_id
1212
13+ ########################################################
14+ # Project folder basics
15+ ########################################################
16+ def get_name (self ):
17+ """
18+ Get this project folder's name or None if it is the root project folder
19+
20+ :returns str: the name of this project folders or None for the root project folder
21+ """
22+ return self .client ._perform_json ("GET" , "/project-folders/%s" % self .project_folder_id ).get ("name" , None )
23+
24+ def get_parent (self ):
25+ """
26+ Get this project folder's parent or None if it is the root project folder
27+
28+ :returns: A :class:`dataikuapi.dss.projectfolders.DSSProjectFolder` to interact with its parent or None for the root project folder
29+ """
30+ parent = self .client ._perform_json ("GET" , "/project-folders/%s" % self .project_folder_id ).get ("parent" , None )
31+ if parent is None :
32+ return None
33+ else :
34+ return DSSProjectFolderSettings (self .client , parent )
35+
36+ def get_children (self ):
37+ """
38+ Get this project folder's children
39+
40+ :returns list: A list of :class:`dataikuapi.dss.projectfolders.DSSProjectFolder` to interact with its children
41+ """
42+ children = self .client ._perform_json ("GET" , "/project-folders/%s" % self .project_folder_id ).get ("children" , [])
43+ ret = []
44+ for child in children :
45+ ret .append (DSSProjectFolder (self .client , child ))
46+ return ret
47+
48+ def get_projects (self ):
49+ """
50+ Get this project folder's projects
51+
52+ :returns list: A list of :class:`dataikuapi.dss.project.DSSProject` to interact with its projects
53+ """
54+ project_keys = self .client ._perform_json ("GET" , "/project-folders/%s" % self .project_folder_id ).get ("projectKeys" , [])
55+ ret = []
56+ for pkey in project_keys :
57+ ret .append (DSSProject (self .client , pkey ))
58+ return ret
59+
1360 ########################################################
1461 # Project folder deletion
1562 ########################################################
0 commit comments