parent
2a69160b36
commit
42206c4824
1 changed files with 16 additions and 12 deletions
|
|
@ -53,6 +53,10 @@ class Display:
|
||||||
self.state_status = Value("i", 0)
|
self.state_status = Value("i", 0)
|
||||||
sys.excepthook = self.unhandled_exception
|
sys.excepthook = self.unhandled_exception
|
||||||
|
|
||||||
|
def unregister(self):
|
||||||
|
self.logger.handlers[0].close()
|
||||||
|
sys.excepthook = sys.__excepthook__
|
||||||
|
|
||||||
def log(self, message):
|
def log(self, message):
|
||||||
self.logger.info(str(message))
|
self.logger.info(str(message))
|
||||||
|
|
||||||
|
|
@ -97,10 +101,10 @@ class Display:
|
||||||
|
|
||||||
def intro(self):
|
def intro(self):
|
||||||
output = self.SH_YELLOW + """
|
output = self.SH_YELLOW + """
|
||||||
____ ___ _
|
____ ___ _
|
||||||
/ __/__ _/ _/__ _____(_)
|
/ __/__ _/ _/__ _____(_)
|
||||||
_\ \/ _ `/ _/ _ `/ __/ /
|
_\ \/ _ `/ _/ _ `/ __/ /
|
||||||
/___/\_,_/_/ \_,_/_/ /_/
|
/___/\_,_/_/ \_,_/_/ /_/
|
||||||
/ _ )___ ___ / /__ ___
|
/ _ )___ ___ / /__ ___
|
||||||
/ _ / _ \/ _ \/ '_/(_-<
|
/ _ / _ \/ _ \/ '_/(_-<
|
||||||
/____/\___/\___/_/\_\/___/
|
/____/\___/\___/_/\_\/___/
|
||||||
|
|
@ -298,8 +302,8 @@ class SafariBooks:
|
||||||
self.book_title = self.book_info["title"]
|
self.book_title = self.book_info["title"]
|
||||||
self.base_url = self.book_info["web_url"]
|
self.base_url = self.book_info["web_url"]
|
||||||
|
|
||||||
self.clean_book_title = self.escape_dirname(self.book_title) + " ({0})".format(
|
self.clean_book_title = "".join(self.escape_dirname(self.book_title).split(",")[:2]) + " ({0})".format(
|
||||||
self.escape_dirname(", ".join(a["name"] for a in self.book_info["authors"]), clean_space=True)
|
self.escape_dirname(", ".join(a["name"] for a in self.book_info["authors"][:2]), clean_space=True)
|
||||||
)
|
)
|
||||||
|
|
||||||
books_dir = os.path.join(PATH, "Books")
|
books_dir = os.path.join(PATH, "Books")
|
||||||
|
|
@ -349,7 +353,8 @@ class SafariBooks:
|
||||||
if not args.no_cookies:
|
if not args.no_cookies:
|
||||||
json.dump(self.cookies, open(COOKIES_FILE, "w"))
|
json.dump(self.cookies, open(COOKIES_FILE, "w"))
|
||||||
|
|
||||||
self.display.done(self.clean_book_title + ".epub")
|
self.display.done(os.path.join(self.BOOK_PATH, self.book_id + ".epub"))
|
||||||
|
self.display.unregister()
|
||||||
|
|
||||||
if not self.display.in_error and not args.log:
|
if not self.display.in_error and not args.log:
|
||||||
os.remove(self.display.log_file)
|
os.remove(self.display.log_file)
|
||||||
|
|
@ -551,17 +556,18 @@ class SafariBooks:
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def get_cover(html_root):
|
def get_cover(html_root):
|
||||||
images = html_root.xpath("//img[contains(@id, 'cover') or "
|
images = html_root.xpath("//img[contains(@id, 'cover') or contains(@class, 'cover') or"
|
||||||
"contains(@name, 'cover') or contains(@src, 'cover')]")
|
"contains(@name, 'cover') or contains(@src, 'cover')]")
|
||||||
if len(images):
|
if len(images):
|
||||||
return images[0]
|
return images[0]
|
||||||
|
|
||||||
divs = html_root.xpath("//div[contains(@id, 'cover') or "
|
divs = html_root.xpath("//div[contains(@id, 'cover') or contains(@class, 'cover') or"
|
||||||
"contains(@name, 'cover') or contains(@src, 'cover')]//img")
|
"contains(@name, 'cover') or contains(@src, 'cover')]//img")
|
||||||
if len(divs):
|
if len(divs):
|
||||||
return divs[0]
|
return divs[0]
|
||||||
|
|
||||||
a = html_root.xpath("//a[contains(@id, 'cover') or contains(@name, 'cover') or contains(@src, 'cover')]//img")
|
a = html_root.xpath("//a[contains(@id, 'cover') or contains(@class, 'cover') or"
|
||||||
|
"contains(@name, 'cover') or contains(@src, 'cover')]//img")
|
||||||
if len(a):
|
if len(a):
|
||||||
return a[0]
|
return a[0]
|
||||||
|
|
||||||
|
|
@ -945,13 +951,11 @@ class SafariBooks:
|
||||||
)
|
)
|
||||||
|
|
||||||
zip_file = os.path.join(PATH, "Books", self.book_id)
|
zip_file = os.path.join(PATH, "Books", self.book_id)
|
||||||
if os.path.isfile(zip_file + ".epub"):
|
|
||||||
os.remove(zip_file + ".epub")
|
|
||||||
if os.path.isfile(zip_file + ".zip"):
|
if os.path.isfile(zip_file + ".zip"):
|
||||||
os.remove(zip_file + ".zip")
|
os.remove(zip_file + ".zip")
|
||||||
|
|
||||||
shutil.make_archive(zip_file, 'zip', self.BOOK_PATH)
|
shutil.make_archive(zip_file, 'zip', self.BOOK_PATH)
|
||||||
os.rename(zip_file + ".zip", os.path.join(self.BOOK_PATH, self.clean_book_title) + ".epub")
|
os.rename(zip_file + ".zip", os.path.join(self.BOOK_PATH, self.book_id) + ".epub")
|
||||||
|
|
||||||
|
|
||||||
# MAIN
|
# MAIN
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue