58 lines
2.3 KiB
Python
58 lines
2.3 KiB
Python
# 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"] |