From 6bdd458df35d395f150ddfb22cb47cad3913f721 Mon Sep 17 00:00:00 2001 From: Klaus-Uwe Mitterer Date: Tue, 7 Feb 2017 00:46:26 +0100 Subject: [PATCH] Quickly implemented the getter. --- getter.py | 61 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 61 insertions(+) diff --git a/getter.py b/getter.py index e69de29..398c2d7 100755 --- a/getter.py +++ b/getter.py @@ -0,0 +1,61 @@ +#!/usr/bin/env python3 + +import errno, fpdf, os, os.path, PIL, urllib.request + +def getPage(issue, page): + try: + f = urllib.request.urlopen("https://www.falter.at/falter/e-paper/fetch/%i/%i.jpg" % (issue, page)) + + with open("%i/%i.jpg" % (issue, page), "b+w") as o: + o.write(f.read()) + + except urllib.error.HTTPError: + return False + +def makeDir(issue): + try: + os.makedirs(str(issue)) + return True + + except OSError as e: + if e.errno != errno.EEXIST: + raise + + return False + +def makePDF(issue, pages): + cover = PIL.Image.open("%i/1.jpg" % issue) + x, y = cover.size + + pdf = fpdf.FPDF(unit = "pt", format = [x, y]) + + for page in range(pages): + pdf.add_page() + pdf.image("%i/%i.jpg" % (issue, page + 1), 0, 0) + + pdf.output("%i/issue.pdf" % issue, "F") + +def getIssue(issue, makepdf = True): + if makeDir(issue): + i = 1 + + while getPage(issue, i) is not False: + i += 1 + + if i == 1: + return False + + if i < 5: + print("[NOTICE] Incomplete issue: %i" % issue) + + if makepdf: + makePDF(issue, i-1) + +def getterLoop(start = 53): + i = start + + while getIssue(i) is not False: + i += 1 + +if __name__ == "__main__": + getterLoop()