fix(api): Remove unnecessary newlines from Text

This commit is contained in:
TheOnlyWayUp
2024-12-07 09:31:00 +00:00
parent 7b521e492a
commit 96d367da27
2 changed files with 14 additions and 2 deletions
+12
View File
@@ -565,3 +565,15 @@ class PDFGenerator:
self.file.seek(0)
return self
def clean_part_text(text: str):
"""Remove unnecessary newlines from Text"""
soup = BeautifulSoup(text)
for br in soup.find_all("br"):
# Check if no content after br
if not br.next_sibling or br.next_sibling.name in ["br", None]:
br.decompose()
return str(soup)
+2 -2
View File
@@ -10,7 +10,6 @@ from aiohttp import ClientResponseError
from fastapi import FastAPI, Request
from fastapi.responses import FileResponse, HTMLResponse, StreamingResponse
from fastapi.staticfiles import StaticFiles
from ebooklib import epub
from create_book import (
EPUBGenerator,
PDFGenerator,
@@ -21,6 +20,7 @@ from create_book import (
fetch_cookies,
WattpadError,
StoryNotFoundError,
clean_part_text,
slugify,
logger,
)
@@ -167,7 +167,7 @@ async def handle_download(
cover_data = await fetch_cover(metadata["cover"].replace("-256-", "-512-"))
part_contents = [
f"<h1>{part['title']}</h1>"
+ (await fetch_part_content(part["id"], cookies=cookies))
+ (clean_part_text(await fetch_part_content(part["id"], cookies=cookies)))
for part in metadata["parts"]
]