def read_book(self): try: 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() 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() and is_image(i.filename) ] self.image_list.sort() if not self.image_list: return False return True except: # Specifying no exception here is warranted return False
def read_book(self): 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() 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() and is_image(i.filename)] self.image_list.sort()
def __init__(self, filepath, main_window, parent=None): super(PliantQGraphicsView, self).__init__(parent) self._translate = QtCore.QCoreApplication.translate self.parent = parent self.main_window = main_window self.image_pixmap = None self.image_cache = [None for _ in range(4)] self.thread = None self.annotation_dict = self.parent.metadata['annotations'] self.filepath = filepath self.filetype = os.path.splitext(self.filepath)[1][1:] if self.filetype == 'cbz': self.book = zipfile.ZipFile(self.filepath) elif self.filetype == 'cbr': self.book = rarfile.RarFile(self.filepath) elif self.filetype == 'pdf': self.book = fitz.open(self.filepath) elif self.filetype == 'djvu': self.book = djvu.decode.Context().new_document( djvu.decode.FileURI(self.filepath)) self.book.decoding_job.wait() self.common_functions = PliantWidgetsCommonFunctions( self, self.main_window) self.ignore_wheel_event = False self.ignore_wheel_event_number = 0 self.mousePosition = None self.setMouseTracking(True) self.setDragMode(QtWidgets.QGraphicsView.ScrollHandDrag) self.setContextMenuPolicy(QtCore.Qt.CustomContextMenu) self.customContextMenuRequested.connect( self.generate_graphicsview_context_menu)
def __init__(self, filepath, main_window, parent=None): super(PliantQGraphicsView, self).__init__(parent) self._translate = QtCore.QCoreApplication.translate self.parent = parent self.main_window = main_window self.qimage = None # Will be needed to resize pdf self.image_pixmap = None self.image_cache = [None for _ in range(4)] self.thread = None self.filepath = filepath self.filetype = os.path.splitext(self.filepath)[1][1:] if self.filetype == 'cbz': self.book = zipfile.ZipFile(self.filepath) elif self.filetype == 'cbr': self.book = rarfile.RarFile(self.filepath) elif self.filetype == 'pdf': self.book = popplerqt5.Poppler.Document.load(self.filepath) self.book.setRenderHint( popplerqt5.Poppler.Document.Antialiasing and popplerqt5.Poppler.Document.TextAntialiasing) self.common_functions = PliantWidgetsCommonFunctions( self, self.main_window) # TODO # Image panning with mouse self.ignore_wheel_event = False self.ignore_wheel_event_number = 0 self.setMouseTracking(True) self.setDragMode(QtWidgets.QGraphicsView.ScrollHandDrag) self.viewport().setCursor(QtCore.Qt.ArrowCursor) self.setContextMenuPolicy(QtCore.Qt.CustomContextMenu) self.customContextMenuRequested.connect( self.generate_graphicsview_context_menu)