mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-06-06 07:04:20 -04:00
Infrastructure for loading viewer js
This commit is contained in:
parent
7b75c67e15
commit
6e14daac89
@ -283,11 +283,12 @@ class RapydScript(Command): # {{{
|
||||
help='Only compile the specified module')
|
||||
|
||||
def run(self, opts):
|
||||
from calibre.utils.rapydscript import compile_srv, compile_editor
|
||||
from calibre.utils.rapydscript import compile_srv, compile_editor, compile_viewer
|
||||
if opts.only_module:
|
||||
locals()['compile_' + opts.only_module]()
|
||||
else:
|
||||
compile_editor()
|
||||
compile_viewer()
|
||||
compile_srv()
|
||||
# }}}
|
||||
|
||||
|
@ -6,7 +6,7 @@ from __future__ import absolute_import, division, print_function, unicode_litera
|
||||
|
||||
import os
|
||||
|
||||
from PyQt5.Qt import QApplication, QBuffer, QByteArray, QSize
|
||||
from PyQt5.Qt import QApplication, QBuffer, QByteArray, QSize, QUrl
|
||||
from PyQt5.QtWebEngineCore import QWebEngineUrlSchemeHandler
|
||||
from PyQt5.QtWebEngineWidgets import (
|
||||
QWebEnginePage, QWebEngineProfile, QWebEngineScript
|
||||
@ -107,15 +107,10 @@ def create_profile():
|
||||
ua = 'calibre-viewer ' + __version__
|
||||
ans.setHttpUserAgent(ua)
|
||||
if is_running_from_develop:
|
||||
from calibre.utils.rapydscript import compile_editor
|
||||
compile_editor()
|
||||
js = P('editor.js', data=True, allow_user_override=False)
|
||||
cparser = P('csscolorparser.js', data=True, allow_user_override=False)
|
||||
|
||||
insert_scripts(ans,
|
||||
create_script('csscolorparser.js', cparser),
|
||||
create_script('editor.js', js),
|
||||
)
|
||||
from calibre.utils.rapydscript import compile_viewer
|
||||
compile_viewer()
|
||||
js = P('viewer.js', data=True, allow_user_override=False)
|
||||
insert_scripts(ans, create_script('viewer.js', js))
|
||||
url_handler = UrlSchemeHandler(ans)
|
||||
ans.installUrlSchemeHandler(QByteArray(FAKE_PROTOCOL.encode('ascii')), url_handler)
|
||||
s = ans.settings()
|
||||
@ -177,6 +172,7 @@ class WebView(RestartingWebEngineView):
|
||||
self._page = WebPage(self)
|
||||
self.setPage(self._page)
|
||||
self.setAcceptDrops(False)
|
||||
self.clear()
|
||||
|
||||
def render_process_died(self):
|
||||
if self.dead_renderer_error_shown:
|
||||
@ -191,3 +187,6 @@ class WebView(RestartingWebEngineView):
|
||||
|
||||
def refresh(self):
|
||||
self.pageAction(QWebEnginePage.Reload).trigger()
|
||||
|
||||
def clear(self):
|
||||
self.setHtml('<p> ', QUrl('{}://{}/'.format(FAKE_PROTOCOL, FAKE_HOST)))
|
||||
|
@ -221,6 +221,16 @@ def compile_editor():
|
||||
atomic_write(base, 'editor.js', js)
|
||||
|
||||
|
||||
def compile_viewer():
|
||||
base = base_dir()
|
||||
rapydscript_dir = os.path.join(base, 'src', 'pyj')
|
||||
fname = os.path.join(rapydscript_dir, 'viewer-main.pyj')
|
||||
with lopen(fname, 'rb') as f:
|
||||
js = compile_fast(f.read(), fname, js_version=6).replace('__SPECIAL_TITLE__', special_title, 1)
|
||||
base = os.path.join(base, 'resources')
|
||||
atomic_write(base, 'viewer.js', js)
|
||||
|
||||
|
||||
def compile_srv():
|
||||
base = base_dir()
|
||||
iconf = os.path.join(base, 'imgsrc', 'srv', 'generate.py')
|
||||
|
5
src/pyj/viewer-main.pyj
Normal file
5
src/pyj/viewer-main.pyj
Normal file
@ -0,0 +1,5 @@
|
||||
# vim:fileencoding=utf-8
|
||||
# License: GPL v3 Copyright: 2018, Kovid Goyal <kovid at kovidgoyal.net>
|
||||
from __python__ import bound_methods, hash_literals
|
||||
|
||||
print('11111111111111', document.location.href)
|
Loading…
x
Reference in New Issue
Block a user