diff --git a/mlwerke2pdf.py b/mlwerke2pdf.py index 80b0dcd..ee86b78 100644 --- a/mlwerke2pdf.py +++ b/mlwerke2pdf.py @@ -1,7 +1,7 @@ import requests from bs4 import BeautifulSoup import urllib.parse -import pdfkit +from weasyprint import HTML class MLWerk: class SubSite: @@ -31,22 +31,24 @@ class MLWerk: if limit != None and i > limit: break link = link.get('href') - if not (link == None and ("#" in link or "/" in link)): + if not link == None and not ("#" in link or "/" in link): self.subsites.append(self.SubSite(urllib.parse.urljoin(self.baseurl, link))) i += 1 def concatsubsites(self): for subsite in self.subsites: - for element in subsite.soup.body: - self.soup.body.append(element) + for tag in subsite.soup.body: + if (tag != "\n" and tag.name != "a"): + self.soup.body.append(tag) def genpdf(self, path): - pdfkit.from_string(str(self.soup), path, options={"enable-local-file-access": ""}) + HTML(string=str(self.soup)).write_pdf(path) - def text2pdf(self, path): + def text2pdf(self, path, dry=False): print("gettings subsites") - self.getsubsites + self.getsubsites() print("concatting subsites") - self.concatsubsites - print("generating pdf") - self.genpdf(path) \ No newline at end of file + self.concatsubsites() + if not dry: + print("generating pdf") + self.genpdf(path) \ No newline at end of file