Spaces:
Runtime error
Runtime error
import pandas as pd | |
import random | |
import markdown | |
import pdfkit | |
import platform | |
def get_book_genre(book_name: str) -> str: | |
df = pd.read_csv("Goodreads_books_with_genres.csv") | |
genre = df[df.Title.str.contains(book_name)]["genres"].values.tolist()[0].split(";") | |
genre = genre[random.randint(0, len(genre))] | |
return genre | |
def create_md(text, title): | |
with open(f"{title}.md", "w") as f: | |
f.write(f"# Title: {title}") | |
f.write(r"\n") | |
for x in range(len(text)): | |
f.write("\n") | |
f.write(f"## Chapter {x+1}") | |
f.write("\n") | |
f.write(text[x]) | |
return title | |
def convert(filename): | |
with open(f"{filename}.md", "r") as f: | |
text = f.read() | |
html = markdown.markdown(text) | |
with open(f"{filename}.html", "w", encoding="utf-8") as f: | |
f.write(html) | |
return f"{filename}" | |
def to_pdf(filename): | |
if platform.system() == "Windows": | |
path_to_wkhtmltopdf = r"C:\Program Files\wkhtmltopdf\bin\wkhtmltopdf.exe" | |
# Point pdfkit configuration to wkhtmltopdf.exe | |
config = pdfkit.configuration(wkhtmltopdf=path_to_wkhtmltopdf) | |
# Convert HTML file to PDF | |
pdfkit.from_file( | |
f"{filename}.html", output_path=f"{filename}.pdf", configuration=config | |
) | |
return f"{filename}.pdf" | |
else: | |
pdfkit.from_file( | |
f"{filename}.html", output_path=f"{filename}.pdf", configuration=config | |
) | |
return f"{filename}.pdf" | |