fix(api): Remove unnecessary newlines from Text
This commit is contained in:
@@ -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
@@ -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"]
|
||||
]
|
||||
|
||||
|
||||
Reference in New Issue
Block a user