mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-07-09 03:04:10 -04:00
E-book viewer: Fix a regression that caused an increase in load times when loading the individual HTML files inside an EPUB book. Fixes #1658578 [loading flow delay for every page](https://bugs.launchpad.net/calibre/+bug/1658578)
This commit is contained in:
parent
5fde1b3ffb
commit
1027a80786
@ -6,7 +6,7 @@ from __future__ import (unicode_literals, division, absolute_import,
|
||||
print_function)
|
||||
import os
|
||||
|
||||
from PyQt5.Qt import QNetworkReply, QNetworkAccessManager, QUrl, QNetworkRequest, QTimer, pyqtSignal
|
||||
from PyQt5.Qt import QNetworkReply, QNetworkAccessManager, QUrl, QNetworkRequest, QTimer, pyqtSignal, QByteArray
|
||||
|
||||
from calibre import guess_type as _guess_type, prints
|
||||
from calibre.constants import FAKE_HOST, FAKE_PROTOCOL, DEBUG
|
||||
@ -19,6 +19,9 @@ def guess_type(x):
|
||||
return _guess_type(x)[0] or 'application/octet-stream'
|
||||
|
||||
|
||||
cc_header = QByteArray(b'Cache-Control'), QByteArray(b'max-age=864001')
|
||||
|
||||
|
||||
class NetworkReply(QNetworkReply):
|
||||
|
||||
def __init__(self, parent, request, mime_type, data):
|
||||
@ -30,6 +33,7 @@ class NetworkReply(QNetworkReply):
|
||||
self.__data = data
|
||||
self.setHeader(QNetworkRequest.ContentTypeHeader, mime_type)
|
||||
self.setHeader(QNetworkRequest.ContentLengthHeader, len(self.__data))
|
||||
self.setRawHeader(*cc_header)
|
||||
QTimer.singleShot(0, self.finalize_reply)
|
||||
|
||||
def bytesAvailable(self):
|
||||
|
@ -954,6 +954,7 @@ class EbookViewer(MainWindow):
|
||||
while worker.isAlive():
|
||||
worker.join(0.1)
|
||||
QApplication.processEvents()
|
||||
self.view.settings().clearMemoryCaches()
|
||||
if worker.exception is not None:
|
||||
tb = worker.traceback.strip()
|
||||
if tb and tb.splitlines()[-1].startswith('DRMError:'):
|
||||
|
Loading…
x
Reference in New Issue
Block a user