Well, this actually seems to work.
This commit is contained in:
parent
e069cb3788
commit
8d0c778354
2 changed files with 18 additions and 16 deletions
|
@ -1,4 +1,4 @@
|
||||||
import errno, os, PIL, fpdf
|
import errno, os, PIL, fpdf, urllib.request
|
||||||
|
|
||||||
JPG = 0
|
JPG = 0
|
||||||
PNG = 1
|
PNG = 1
|
||||||
|
@ -14,8 +14,8 @@ def makeDir(issue):
|
||||||
|
|
||||||
return False
|
return False
|
||||||
|
|
||||||
def makePDF(issue, pages, type = JPG):
|
def makePDF(issue, pages, ftype = JPG):
|
||||||
ext = "jpg" if type == JPG else "png"
|
ext = "jpg" if ftype == JPG else "png"
|
||||||
cover = PIL.Image.open("%s/1.%s" % (str(issue), ext))
|
cover = PIL.Image.open("%s/1.%s" % (str(issue), ext))
|
||||||
x, y = cover.size
|
x, y = cover.size
|
||||||
|
|
||||||
|
@ -27,9 +27,8 @@ def makePDF(issue, pages, type = JPG):
|
||||||
|
|
||||||
pdf.output("%s/issue.pdf" % str(issue), "F")
|
pdf.output("%s/issue.pdf" % str(issue), "F")
|
||||||
|
|
||||||
def downloadPage(canvas, issue, page, driver):
|
def downloadPage(url, issue, page, ftype = JPG):
|
||||||
b64 = driver.execute_script("return arguments[0].toDataURL('image/png').substring(21);", canvas)
|
f = urllib.request.urlopen(url)
|
||||||
|
|
||||||
with open("%s/%i.png" % (str(issue), int(page)), "b+w") as o:
|
|
||||||
o.write(b64)
|
|
||||||
|
|
||||||
|
with open("%s/%i.%s" % (str(issue), int(page), "jpg" if ftype == JPG else "png"), "b+w") as o:
|
||||||
|
o.write(f.read())
|
||||||
|
|
17
readit.py
17
readit.py
|
@ -18,6 +18,8 @@ def loadPage(url, driver, period=5,init=False):
|
||||||
driver.get(url)
|
driver.get(url)
|
||||||
time.sleep(period)
|
time.sleep(period)
|
||||||
|
|
||||||
|
print(url, driver.current_url)
|
||||||
|
|
||||||
return True if driver.current_url == url else False
|
return True if driver.current_url == url else False
|
||||||
|
|
||||||
def loginHandler(driver, user = setuptools.riuser(), password = setuptools.ripass()):
|
def loginHandler(driver, user = setuptools.riuser(), password = setuptools.ripass()):
|
||||||
|
@ -46,16 +48,17 @@ def pageHandler(driver, id, page):
|
||||||
if not loadPage("https://app.myreadit.com/reader/%s#%i" % (id, int(page)), driver):
|
if not loadPage("https://app.myreadit.com/reader/%s#%i" % (id, int(page)), driver):
|
||||||
return False
|
return False
|
||||||
|
|
||||||
|
img = driver.find_element_by_id("page1").get_attribute("src")
|
||||||
|
helpers.downloadPage(img, id, page, helpers.JPG)
|
||||||
|
|
||||||
try:
|
try:
|
||||||
img = driver.find_element_by_tag_name("canvas")
|
img2 = driver.find_element_by_id("page2").get_attribute("src")
|
||||||
helpers.downloadPage(img, id, page)
|
helpers.downloadPage(img2, id, page + 1, helpers.JPG)
|
||||||
|
return 2
|
||||||
|
|
||||||
except:
|
except:
|
||||||
print(driver.page_source)
|
return 1
|
||||||
driver.save_screenshot("screenshot.png")
|
|
||||||
raise
|
|
||||||
|
|
||||||
return 1 if page == 1 else 2
|
|
||||||
|
|
||||||
def magazineHandler(driver, id, makepdf = True):
|
def magazineHandler(driver, id, makepdf = True):
|
||||||
if helpers.makeDir(id):
|
if helpers.makeDir(id):
|
||||||
|
@ -68,7 +71,7 @@ def magazineHandler(driver, id, makepdf = True):
|
||||||
val = pageHandler(driver, id, page + 1)
|
val = pageHandler(driver, id, page + 1)
|
||||||
|
|
||||||
if makepdf:
|
if makepdf:
|
||||||
helpers.makePDF(id, page, helpers.PNG)
|
helpers.makePDF(id, page, helpers.JPG)
|
||||||
|
|
||||||
else:
|
else:
|
||||||
print("[NOTICE] Skipping issue %s - already exists." % id)
|
print("[NOTICE] Skipping issue %s - already exists." % id)
|
||||||
|
|
Loading…
Reference in a new issue