Manga mode
Comics are parsed for images only Miscellaneous fixes
This commit is contained in:
@@ -36,16 +36,24 @@ class ParseCOMIC:
|
||||
if self.book_extension[1] == '.cbz':
|
||||
self.book = zipfile.ZipFile(
|
||||
self.filename, mode='r', allowZip64=True)
|
||||
self.image_list = [i.filename for i in self.book.infolist() if not i.is_dir()]
|
||||
self.image_list = [
|
||||
i.filename for i in self.book.infolist()
|
||||
if not i.is_dir() and is_image(i.filename)]
|
||||
|
||||
elif self.book_extension[1] == '.cbr':
|
||||
self.book = rarfile.RarFile(self.filename)
|
||||
self.image_list = [i.filename for i in self.book.infolist() if not i.isdir()]
|
||||
self.image_list = [
|
||||
i.filename for i in self.book.infolist()
|
||||
if not i.isdir() and is_image(i.filename)]
|
||||
|
||||
self.image_list.sort()
|
||||
except: # Specifying no exception here is warranted
|
||||
print('Cannot parse ' + self.filename)
|
||||
return
|
||||
if not self.image_list:
|
||||
return False
|
||||
|
||||
return True
|
||||
|
||||
except: # Specifying no exception here is warranted
|
||||
return False
|
||||
|
||||
def get_title(self):
|
||||
title = os.path.basename(self.book_extension[0]).strip(' ')
|
||||
@@ -76,3 +84,11 @@ class ParseCOMIC:
|
||||
contents = [(f'Page {count + 1}', i) for count, i in enumerate(self.image_list)]
|
||||
|
||||
return contents, file_settings
|
||||
|
||||
|
||||
def is_image(filename):
|
||||
valid_image_extensions = ['.png', '.jpg', '.bmp']
|
||||
if os.path.splitext(filename)[1].lower() in valid_image_extensions:
|
||||
return True
|
||||
else:
|
||||
return False
|
||||
|
@@ -33,9 +33,9 @@ class ParseEPUB:
|
||||
self.book_ref = EPUB(self.filename)
|
||||
contents_found = self.book_ref.read_epub()
|
||||
if not contents_found:
|
||||
print('Cannot process: ' + self.filename)
|
||||
return
|
||||
return False
|
||||
self.book = self.book_ref.book
|
||||
return True
|
||||
|
||||
def get_title(self):
|
||||
return self.book['title']
|
||||
|
@@ -32,9 +32,9 @@ class ParseFB2:
|
||||
self.book_ref = FB2(self.filename)
|
||||
contents_found = self.book_ref.read_fb2()
|
||||
if not contents_found:
|
||||
print('Cannot process: ' + self.filename)
|
||||
return
|
||||
return False
|
||||
self.book = self.book_ref.book
|
||||
return True
|
||||
|
||||
def get_title(self):
|
||||
return self.book['title']
|
||||
|
@@ -55,9 +55,9 @@ class ParseMOBI:
|
||||
self.book_ref = EPUB(self.epub_filepath)
|
||||
contents_found = self.book_ref.read_epub()
|
||||
if not contents_found:
|
||||
print('Cannot process: ' + self.filename)
|
||||
return
|
||||
return False
|
||||
self.book = self.book_ref.book
|
||||
return True
|
||||
|
||||
def get_title(self):
|
||||
return self.book['title']
|
||||
|
@@ -36,9 +36,10 @@ class ParsePDF:
|
||||
def read_book(self):
|
||||
self.book = popplerqt5.Poppler.Document.load(self.filename)
|
||||
if not self.book:
|
||||
return
|
||||
return False
|
||||
|
||||
self.metadata = BeautifulSoup(self.book.metadata(), 'xml')
|
||||
return True
|
||||
|
||||
def get_title(self):
|
||||
try:
|
||||
|
Reference in New Issue
Block a user