# make page-header of confluence-area unique (add WGWR2) # zisco 2023-11-10 06:59 from distutils.log import INFO from atlassian import Confluence import logging import requests logging.basicConfig(filename='confluence bulk.log', filemode='a', format='%(asctime)s - %(levelname)s: %(message)s', level=logging.WARNING, encoding='utf-8') logger = logging.getLogger('myLogger') logger.setLevel(level=logging.INFO) confluence_host = "https://confluence.wien.gv.at/" confluence_pat = "MDI3ODU2NzkzMTAyOsPz47kjJvVdJa1bLpen3W5sB6S5" s = requests.Session() s.headers['Authorization'] = f"Bearer {confluence_pat}" confluence = Confluence(url=confluence_host, session=s) def recurse_child_pages(page_id, level=0): level += 1 child_pages = confluence.get_page_child_by_type(page_id, type='page', start=None, limit=None, expand=None) for child_page in child_pages: page_title = child_page["title"] st = "\t" * level logger.info(f"{st}Page {page_title}") if page_title.find('[WGWR3]') != -1: rename_page_title(child_page["id"], child_page["title"]) recurse_child_pages(child_page["id"], level=level) def rename_page_title(page_id, page_title): #append 'WGWR2' #Confluence.update_page(page_id, title='WGWR2_' , body, parent_id=None, type='page', representation='storage', minor_edit=False, full_width=False) page_title = page_title.replace('[WGWR3]','WGWR3_') # Get old page contents page_content = confluence.get_page_by_id(page_id=page_id, expand='body') # Old page contents #Rename and move page, get updated content #new_page_content = confluence.update_page(old_page_content['id'], title=new_title, body=old_page_content['body'], parent_id=parent_id, type="page", representation="storage") confluence.update_page(page_id=page_id, title=page_title) #, body=page_content['body']) logger.info(f"New page title '{page_title}'") # get main page #Confluence.get_page_by_id(page_id, expand=None, status=None, version=None) #page = Confluence.get_page_child_by_type('Wiener Gebäude- und Wohnungsregister', 'WGWR2') #page_id = 118856417 # WGWR2 page_id = 280660965 # WGWR3 recurse_child_pages(page_id=page_id) #body = page["body"]["storage"]["value"]