Skip to content

Commit f1042d8

Browse files
committed
added some basic methods helpers for project folder public api python wrapper
1 parent c364466 commit f1042d8

1 file changed

Lines changed: 47 additions & 0 deletions

File tree

dataikuapi/dss/projectfolder.py

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)