mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-08-11 09:13:57 -04:00
More stupid PyQt enums
This commit is contained in:
parent
3533f2f250
commit
49a38d23d1
@ -12,7 +12,7 @@ from PyQt5.Qt import (
|
|||||||
QApplication, QByteArray, QHBoxLayout, QIcon, QLabel, QMenu, QSize, QSizePolicy,
|
QApplication, QByteArray, QHBoxLayout, QIcon, QLabel, QMenu, QSize, QSizePolicy,
|
||||||
QStackedLayout, Qt, QTimer, QToolBar, QUrl, QVBoxLayout, QWidget, pyqtSignal
|
QStackedLayout, Qt, QTimer, QToolBar, QUrl, QVBoxLayout, QWidget, pyqtSignal
|
||||||
)
|
)
|
||||||
from PyQt5.QtWebEngineCore import QWebEngineUrlSchemeHandler
|
from PyQt5.QtWebEngineCore import QWebEngineUrlSchemeHandler, QWebEngineUrlRequestJob
|
||||||
from PyQt5.QtWebEngineWidgets import (
|
from PyQt5.QtWebEngineWidgets import (
|
||||||
QWebEnginePage, QWebEngineProfile, QWebEngineScript, QWebEngineView, QWebEngineSettings
|
QWebEnginePage, QWebEngineProfile, QWebEngineScript, QWebEngineView, QWebEngineSettings
|
||||||
)
|
)
|
||||||
@ -171,11 +171,11 @@ class UrlSchemeHandler(QWebEngineUrlSchemeHandler):
|
|||||||
|
|
||||||
def requestStarted(self, rq):
|
def requestStarted(self, rq):
|
||||||
if bytes(rq.requestMethod()) != b'GET':
|
if bytes(rq.requestMethod()) != b'GET':
|
||||||
rq.fail(rq.RequestDenied)
|
rq.fail(QWebEngineUrlRequestJob.Error.RequestDenied)
|
||||||
return
|
return
|
||||||
url = rq.requestUrl()
|
url = rq.requestUrl()
|
||||||
if url.host() != FAKE_HOST or url.scheme() != FAKE_PROTOCOL:
|
if url.host() != FAKE_HOST or url.scheme() != FAKE_PROTOCOL:
|
||||||
rq.fail(rq.UrlNotFound)
|
rq.fail(QWebEngineUrlRequestJob.Error.UrlNotFound)
|
||||||
return
|
return
|
||||||
name = url.path()[1:]
|
name = url.path()[1:]
|
||||||
try:
|
try:
|
||||||
@ -184,7 +184,7 @@ class UrlSchemeHandler(QWebEngineUrlSchemeHandler):
|
|||||||
return
|
return
|
||||||
c = current_container()
|
c = current_container()
|
||||||
if not c.has_name(name):
|
if not c.has_name(name):
|
||||||
rq.fail(rq.UrlNotFound)
|
rq.fail(QWebEngineUrlRequestJob.Error.UrlNotFound)
|
||||||
return
|
return
|
||||||
mime_type = c.mime_map.get(name, 'application/octet-stream')
|
mime_type = c.mime_map.get(name, 'application/octet-stream')
|
||||||
if mime_type in OEB_DOCS:
|
if mime_type in OEB_DOCS:
|
||||||
@ -205,7 +205,7 @@ class UrlSchemeHandler(QWebEngineUrlSchemeHandler):
|
|||||||
except Exception:
|
except Exception:
|
||||||
import traceback
|
import traceback
|
||||||
traceback.print_exc()
|
traceback.print_exc()
|
||||||
rq.fail(rq.RequestFailed)
|
rq.fail(QWebEngineUrlRequestJob.Error.RequestFailed)
|
||||||
|
|
||||||
def check_for_parse(self):
|
def check_for_parse(self):
|
||||||
remove = []
|
remove = []
|
||||||
|
@ -11,7 +11,7 @@ from PyQt5.Qt import (
|
|||||||
QT_VERSION, QApplication, QBuffer, QByteArray, QFontDatabase, QFontInfo, QPalette, QEvent,
|
QT_VERSION, QApplication, QBuffer, QByteArray, QFontDatabase, QFontInfo, QPalette, QEvent,
|
||||||
QHBoxLayout, QMimeData, QSize, Qt, QTimer, QUrl, QWidget, pyqtSignal, QIODevice, QLocale
|
QHBoxLayout, QMimeData, QSize, Qt, QTimer, QUrl, QWidget, pyqtSignal, QIODevice, QLocale
|
||||||
)
|
)
|
||||||
from PyQt5.QtWebEngineCore import QWebEngineUrlSchemeHandler
|
from PyQt5.QtWebEngineCore import QWebEngineUrlSchemeHandler, QWebEngineUrlRequestJob
|
||||||
from PyQt5.QtWebEngineWidgets import (
|
from PyQt5.QtWebEngineWidgets import (
|
||||||
QWebEnginePage, QWebEngineProfile, QWebEngineScript, QWebEngineView, QWebEngineSettings
|
QWebEnginePage, QWebEngineProfile, QWebEngineScript, QWebEngineView, QWebEngineSettings
|
||||||
)
|
)
|
||||||
@ -124,14 +124,14 @@ def handle_mathjax_request(rq, name):
|
|||||||
raw = f.read()
|
raw = f.read()
|
||||||
except EnvironmentError as err:
|
except EnvironmentError as err:
|
||||||
prints("Failed to get mathjax file: {} with error: {}".format(name, err), file=sys.stderr)
|
prints("Failed to get mathjax file: {} with error: {}".format(name, err), file=sys.stderr)
|
||||||
rq.fail(rq.RequestFailed)
|
rq.fail(QWebEngineUrlRequestJob.Error.RequestFailed)
|
||||||
return
|
return
|
||||||
if name.endswith('/startup.js'):
|
if name.endswith('/startup.js'):
|
||||||
raw = P('pdf-mathjax-loader.js', data=True, allow_user_override=False) + raw
|
raw = P('pdf-mathjax-loader.js', data=True, allow_user_override=False) + raw
|
||||||
send_reply(rq, mt, raw)
|
send_reply(rq, mt, raw)
|
||||||
else:
|
else:
|
||||||
prints("Failed to get mathjax file: {} outside mathjax directory".format(name), file=sys.stderr)
|
prints("Failed to get mathjax file: {} outside mathjax directory".format(name), file=sys.stderr)
|
||||||
rq.fail(rq.RequestFailed)
|
rq.fail(QWebEngineUrlRequestJob.Error.RequestFailed)
|
||||||
|
|
||||||
|
|
||||||
class UrlSchemeHandler(QWebEngineUrlSchemeHandler):
|
class UrlSchemeHandler(QWebEngineUrlSchemeHandler):
|
||||||
@ -142,7 +142,7 @@ class UrlSchemeHandler(QWebEngineUrlSchemeHandler):
|
|||||||
|
|
||||||
def requestStarted(self, rq):
|
def requestStarted(self, rq):
|
||||||
if bytes(rq.requestMethod()) != b'GET':
|
if bytes(rq.requestMethod()) != b'GET':
|
||||||
return self.fail_request(rq, rq.RequestDenied)
|
return self.fail_request(rq, QWebEngineUrlRequestJob.Error.RequestDenied)
|
||||||
url = rq.requestUrl()
|
url = rq.requestUrl()
|
||||||
host = url.host()
|
host = url.host()
|
||||||
if host not in self.allowed_hosts or url.scheme() != FAKE_PROTOCOL:
|
if host not in self.allowed_hosts or url.scheme() != FAKE_PROTOCOL:
|
||||||
@ -161,7 +161,7 @@ class UrlSchemeHandler(QWebEngineUrlSchemeHandler):
|
|||||||
try:
|
try:
|
||||||
data, mime_type = get_data(name)
|
data, mime_type = get_data(name)
|
||||||
if data is None:
|
if data is None:
|
||||||
rq.fail(rq.UrlNotFound)
|
rq.fail(QWebEngineUrlRequestJob.Error.UrlNotFound)
|
||||||
return
|
return
|
||||||
data = as_bytes(data)
|
data = as_bytes(data)
|
||||||
mime_type = {
|
mime_type = {
|
||||||
@ -174,7 +174,7 @@ class UrlSchemeHandler(QWebEngineUrlSchemeHandler):
|
|||||||
except Exception:
|
except Exception:
|
||||||
import traceback
|
import traceback
|
||||||
traceback.print_exc()
|
traceback.print_exc()
|
||||||
return self.fail_request(rq, rq.RequestFailed)
|
return self.fail_request(rq, QWebEngineUrlRequestJob.Error.RequestFailed)
|
||||||
elif name == 'manifest':
|
elif name == 'manifest':
|
||||||
data = b'[' + set_book_path.manifest + b',' + set_book_path.metadata + b']'
|
data = b'[' + set_book_path.manifest + b',' + set_book_path.metadata + b']'
|
||||||
send_reply(rq, set_book_path.manifest_mime, data)
|
send_reply(rq, set_book_path.manifest_mime, data)
|
||||||
@ -183,7 +183,7 @@ class UrlSchemeHandler(QWebEngineUrlSchemeHandler):
|
|||||||
if data:
|
if data:
|
||||||
send_reply(rq, mt, data)
|
send_reply(rq, mt, data)
|
||||||
else:
|
else:
|
||||||
rq.fail(rq.UrlNotFound)
|
rq.fail(QWebEngineUrlRequestJob.Error.UrlNotFound)
|
||||||
elif name.startswith('mathjax/'):
|
elif name.startswith('mathjax/'):
|
||||||
handle_mathjax_request(rq, name)
|
handle_mathjax_request(rq, name)
|
||||||
elif not name:
|
elif not name:
|
||||||
@ -193,7 +193,7 @@ class UrlSchemeHandler(QWebEngineUrlSchemeHandler):
|
|||||||
|
|
||||||
def fail_request(self, rq, fail_code=None):
|
def fail_request(self, rq, fail_code=None):
|
||||||
if fail_code is None:
|
if fail_code is None:
|
||||||
fail_code = rq.UrlNotFound
|
fail_code = QWebEngineUrlRequestJob.Error.UrlNotFound
|
||||||
rq.fail(fail_code)
|
rq.fail(fail_code)
|
||||||
prints("Blocking FAKE_PROTOCOL request: {}".format(rq.requestUrl().toString()))
|
prints("Blocking FAKE_PROTOCOL request: {}".format(rq.requestUrl().toString()))
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user