@@ -34,7 +34,7 @@ def get_page_child_by_type(self, page_id, type='page', start=None, limit=None):
34
34
:param page_id: A string containing the id of the type content container.
35
35
:param type:
36
36
:param start: OPTIONAL: The start point of the collection to return. Default: None (0).
37
- :param limit: OPTIONAL: how many items should be returned after the start index. Default: Site limit.
37
+ :param limit: OPTIONAL: how many items should be returned after the start index. Default: Site limit 200 .
38
38
:return:
39
39
"""
40
40
params = {}
@@ -46,7 +46,7 @@ def get_page_child_by_type(self, page_id, type='page', start=None, limit=None):
46
46
url = 'rest/api/content/{page_id}/child/{type}' .format (page_id = page_id , type = type )
47
47
log .info (url )
48
48
try :
49
- return self .get (url )
49
+ return ( self .get (url , params = params ) or {}). get ( 'results' )
50
50
except IndexError as e :
51
51
log .error (e )
52
52
return None
@@ -66,7 +66,7 @@ def get_page_space(self, page_id):
66
66
:param page_id: content ID
67
67
:return:
68
68
"""
69
- return self .get_page_by_id (page_id , expand = 'space' )[ 'space' ][ 'key' ]
69
+ return (( self .get_page_by_id (page_id , expand = 'space' ) or {}). get ( 'space' ) or {}). get ( 'key' )
70
70
71
71
def get_page_by_title (self , space , title , start = None , limit = None ):
72
72
"""
@@ -91,7 +91,7 @@ def get_page_by_title(self, space, title, start=None, limit=None):
91
91
params ['title' ] = str (title )
92
92
url = 'rest/api/content'
93
93
try :
94
- return self .get (url , params = params ).get ('results' )[0 ]
94
+ return ( self .get (url , params = params ) or {} ).get ('results' )[0 ]
95
95
except IndexError as e :
96
96
log .error (e )
97
97
return None
@@ -159,7 +159,7 @@ def get_all_pages_from_space(self, space, start=0, limit=500):
159
159
url = 'rest/api/content?spaceKey={space}&limit={limit}&start={start}' .format (space = space ,
160
160
limit = limit ,
161
161
start = start )
162
- return self .get (url )[ 'results' ]
162
+ return ( self .get (url ) or {}). get ( 'results' )
163
163
164
164
def get_all_pages_from_space_trash (self , space , start = 0 , limit = 500 , status = 'trashed' ):
165
165
"""
@@ -460,7 +460,7 @@ def get_page_ancestors(self, page_id):
460
460
:return: get properties
461
461
"""
462
462
url = 'rest/api/content/{page_id}?expand=ancestors' .format (page_id = page_id )
463
- return self .get (path = url ).get ('ancestors' )
463
+ return ( self .get (path = url ) or {} ).get ('ancestors' )
464
464
465
465
def clean_all_caches (self ):
466
466
""" Clean all caches from cache management"""
@@ -580,4 +580,25 @@ def export_page(self, page_id):
580
580
:param page_id: Page ID
581
581
:return: PDF File
582
582
"""
583
- return self .get_page_as_pdf (page_id )
583
+ return self .get_page_as_pdf (page_id )
584
+
585
+ def get_descendant_page_id (self , space , parent_id , title ):
586
+ """
587
+ Provide space, parent_id and title of the descendant page, it will return the descendant page_id
588
+ :param space: str
589
+ :param parent_id: int
590
+ :param title: str
591
+ :return: page_id of the page whose title is passed in argument
592
+ """
593
+ page_id = ""
594
+
595
+ url = 'rest/api/content/search?cql=parent={}%20AND%20space="{}"' .format (
596
+ parent_id , space
597
+ )
598
+ response = self .get (url , {})
599
+
600
+ for each_page in response .get ("results" , []):
601
+ if each_page .get ("title" ) == title :
602
+ page_id = each_page .get ("id" )
603
+ break
604
+ return page_id
0 commit comments