diff --git a/falter.py b/falter.py index 146034a..9e5b70c 100755 --- a/falter.py +++ b/falter.py @@ -1,6 +1,6 @@ #!/usr/bin/env python3 -import errno, fpdf, os, os.path, pdftools, PIL, urllib.request +import errno, fpdf, helpers, os, os.path, PIL, urllib.request def getPage(issue, page): try: @@ -12,19 +12,8 @@ def getPage(issue, page): 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 getIssue(issue, makepdf = True): - if makeDir(issue): + if helpers.makeDir(issue): i = 1 while getPage(issue, i) is not False: @@ -38,7 +27,7 @@ def getIssue(issue, makepdf = True): print("[NOTICE] Incomplete issue: %i" % issue) if makepdf: - pdftools.makePDF(issue, i-1) + helpers.makePDF(issue, i-1) else: print("[NOTICE] Skipping issue: %i (already exists)" % issue) diff --git a/helpers/__init__.py b/helpers/__init__.py new file mode 100644 index 0000000..2692f5a --- /dev/null +++ b/helpers/__init__.py @@ -0,0 +1,25 @@ +import os, PIL, fpdf + +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") +