Black & Isort changes
This commit is contained in:
@@ -1,20 +1,21 @@
|
||||
from . import get_set_Book
|
||||
from . import set_Variables
|
||||
from . import backupType
|
||||
from . import backupLogic
|
||||
from . import get_confirmation
|
||||
import bookstack
|
||||
|
||||
from . import (backupLogic, backupType, get_confirmation, get_set_Book,
|
||||
set_Variables)
|
||||
|
||||
|
||||
def main(version):
|
||||
print(f"Functions module running version: {version}")
|
||||
env = set_Variables.set_variables()
|
||||
print(f"You are currently running on Version: {version}")
|
||||
|
||||
api = bookstack.BookStack(env['base_url'], token_id=env['token_id'], token_secret=env['token_secret'])
|
||||
api = bookstack.BookStack(
|
||||
env["base_url"], token_id=env["token_id"], token_secret=env["token_secret"]
|
||||
)
|
||||
api.generate_api_methods()
|
||||
|
||||
try:
|
||||
book_list = api.get_books_list()['data']
|
||||
book_list = api.get_books_list()["data"]
|
||||
except Exception as e:
|
||||
print(f"Error loading books: {e}")
|
||||
return
|
||||
@@ -22,11 +23,15 @@ def main(version):
|
||||
get_set_Book.get_Books(book_list)
|
||||
book_to_backup = get_set_Book.set_Book(book_list)
|
||||
backup_extension = backupType.get_backup_extension()
|
||||
backup_extension_fileType = backupType.set_backup_extension_filetype(backup_extension)
|
||||
book_to_backup = next(book for book in book_list if book['id'] == book_to_backup)
|
||||
backup_extension_fileType = backupType.set_backup_extension_filetype(
|
||||
backup_extension
|
||||
)
|
||||
book_to_backup = next(book for book in book_list if book["id"] == book_to_backup)
|
||||
|
||||
if get_confirmation.get_confirmation(backup_extension, book_to_backup):
|
||||
backupLogic.backup_book(api, env, book_to_backup, backup_extension, backup_extension_fileType)
|
||||
backupLogic.backup_book(
|
||||
api, env, book_to_backup, backup_extension, backup_extension_fileType
|
||||
)
|
||||
print("Backup completed.")
|
||||
else:
|
||||
return
|
||||
return
|
||||
|
||||
@@ -1,31 +1,32 @@
|
||||
import os
|
||||
|
||||
import requests
|
||||
|
||||
|
||||
def backup_book(api, env, selected_book, backup_extension, backup_extension_fileType):
|
||||
base_url = env['base_url']
|
||||
backup_dir = env['backup_dir']
|
||||
headers = {
|
||||
"Authorization": f"Token {env['token_id']}:{env['token_secret']}"
|
||||
}
|
||||
base_url = env["base_url"]
|
||||
backup_dir = env["backup_dir"]
|
||||
headers = {"Authorization": f"Token {env['token_id']}:{env['token_secret']}"}
|
||||
|
||||
pages_list = api.get_pages_list()['data']
|
||||
chapter_list = api.get_chapters_list()['data']
|
||||
pages_list = api.get_pages_list()["data"]
|
||||
chapter_list = api.get_chapters_list()["data"]
|
||||
|
||||
print(f"Backup type: {backup_extension}")
|
||||
|
||||
for chapter in chapter_list:
|
||||
for page in pages_list:
|
||||
if page['book_id'] == selected_book['id']:
|
||||
if chapter['id'] == page['chapter_id']:
|
||||
folder = os.path.join(backup_dir, chapter['name'])
|
||||
filename = os.path.join(folder, page['name'] + backup_extension_fileType)
|
||||
if page["book_id"] == selected_book["id"]:
|
||||
if chapter["id"] == page["chapter_id"]:
|
||||
folder = os.path.join(backup_dir, chapter["name"])
|
||||
filename = os.path.join(
|
||||
folder, page["name"] + backup_extension_fileType
|
||||
)
|
||||
print(f"Backing up: {filename}")
|
||||
if not os.path.exists(folder):
|
||||
os.makedirs(folder, exist_ok=True)
|
||||
response = requests.get(
|
||||
f'{base_url}/api/pages/{page["id"]}/export/{backup_extension}',
|
||||
headers=headers
|
||||
headers=headers,
|
||||
)
|
||||
with open(filename, 'wb') as file:
|
||||
file.write(response.content)
|
||||
with open(filename, "wb") as file:
|
||||
file.write(response.content)
|
||||
|
||||
@@ -11,6 +11,7 @@ def get_backup_extension():
|
||||
else:
|
||||
raise ValueError("Unsupported backup type")
|
||||
|
||||
|
||||
def set_backup_extension_filetype(backup_type):
|
||||
if backup_type == "markdown":
|
||||
return ".md"
|
||||
@@ -21,4 +22,4 @@ def set_backup_extension_filetype(backup_type):
|
||||
elif backup_type == "Plaintext":
|
||||
return ".txt"
|
||||
else:
|
||||
print("Error file type not found")
|
||||
print("Error file type not found")
|
||||
|
||||
@@ -3,7 +3,9 @@ def get_confirmation(backup_extension, selected_book):
|
||||
while True:
|
||||
confirm = input("Are these settings correct? (y/n): ").strip().lower()
|
||||
if confirm == "y":
|
||||
print(f"Starting backup for book: {selected_book['name']} with filetype {backup_extension}.")
|
||||
print(
|
||||
f"Starting backup for book: {selected_book['name']} with filetype {backup_extension}."
|
||||
)
|
||||
print("Starting now.......")
|
||||
return True
|
||||
elif confirm == "n":
|
||||
@@ -11,4 +13,3 @@ def get_confirmation(backup_extension, selected_book):
|
||||
return False
|
||||
else:
|
||||
print("Please enter 'y' or 'n'.")
|
||||
|
||||
|
||||
@@ -4,13 +4,14 @@ def get_Books(book_list):
|
||||
for book in book_list:
|
||||
print(f"{book['id']}: {book['name']}")
|
||||
|
||||
|
||||
def set_Book(book_list):
|
||||
while True:
|
||||
try:
|
||||
book_to_backup = int(input("Enter the book ID to backup: "))
|
||||
if any(book['id'] == book_to_backup for book in book_list):
|
||||
if any(book["id"] == book_to_backup for book in book_list):
|
||||
return book_to_backup
|
||||
else:
|
||||
print("Invalid book ID, please try again.")
|
||||
except ValueError:
|
||||
print("Please enter a valid number.")
|
||||
print("Please enter a valid number.")
|
||||
|
||||
@@ -1,11 +1,13 @@
|
||||
from dotenv import load_dotenv
|
||||
import os
|
||||
|
||||
from dotenv import load_dotenv
|
||||
|
||||
|
||||
def set_variables():
|
||||
load_dotenv()
|
||||
return {
|
||||
"base_url": os.getenv('BASE_URL'),
|
||||
"token_id": os.getenv('TOKEN_ID'),
|
||||
"token_secret": os.getenv('TOKEN_SECRET'),
|
||||
"backup_dir": os.getenv('BACKUP_DIR')
|
||||
}
|
||||
"base_url": os.getenv("BASE_URL"),
|
||||
"token_id": os.getenv("TOKEN_ID"),
|
||||
"token_secret": os.getenv("TOKEN_SECRET"),
|
||||
"backup_dir": os.getenv("BACKUP_DIR"),
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user