diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 0000000..ed92ae5 --- /dev/null +++ b/requirements.txt @@ -0,0 +1,5 @@ +certifi==2021.5.30 +charset-normalizer==2.0.4 +idna==3.2 +requests==2.26.0 +urllib3==1.26.6 diff --git a/src/bookstackCreate.py b/src/bookstackCreate.py new file mode 100644 index 0000000..b159a8d --- /dev/null +++ b/src/bookstackCreate.py @@ -0,0 +1,53 @@ +import requests +import json + +# Change this vars as you need + +bookstack_url = "https://wiki.bookstack.local" # Bookstack Base URL +header = {'Authorization': 'Token <>:<>'} # API Token +verify_ssl = True # Set to False if you have a selfsigned certificate + +# create the structure of the book + +chapters = { + "Chapter 1": { + "Page 1": "No content yet", + }, + "Chapter 2": { + "Page 1": "No content yet", + "Page 2": "No content yet", + "Page 3": "No content yet", + "Page 4": "No content yet", + }, +} + +# Initialize variables + +book_name = input("Book Name: ") + +book_create_url = bookstack_url + "/api/books" +chapter_create_url = bookstack_url + "/api/chapters" +site_create_url = bookstack_url + "/api/pages" +book_payload = {"name": book_name} + +# Create Book + +print("Create book " + book_name) +book_create = requests.post(book_create_url, data=book_payload, headers=header, verify=verify_ssl) +book_data = json.dumps(book_create.json(), separators=(',', ':')) +book_data_loads = json.loads(book_data) + +for chapter in chapters: + # Create chapters + print("Create chapter " + chapter) + chapter_create = requests.post(chapter_create_url, data={"book_id": book_data_loads['id'], "name": chapter}, headers=header, verify=verify_ssl) + chapter_data = json.dumps(chapter_create.json(), separators=(',', ':')) + chapter_data_loads = json.loads(chapter_data) + + for sites in chapters[chapter]: + # Create pages + print("Create page " + sites) + requests.post(site_create_url, data={"chapter_id": chapter_data_loads['id'], "name": sites, "html": chapters[chapter][sites]}, headers=header, verify=verify_ssl) + +print("Book " + book_name + " successfully created") +exit(0)