[Servers] Refines c9a09817
This commit is contained in:
parent
c9a09817ac
commit
bda9363142
|
@ -62,7 +62,7 @@ Komikku can be built in a Python virtual environment. However, some tools and de
|
|||
# Install system dependencies
|
||||
apt install make meson gettext appstream-util desktop-file-utils
|
||||
apt install python3 python3-dev python3-venv
|
||||
apt install libadwaita-1-dev libcairo2-dev libnotify-dev libmagic1 libwebkit2gtk-5.0-0
|
||||
apt install libadwaita-1-dev libcairo2-dev libnotify-dev libmagic1 libwebkitgtk-6.0-4
|
||||
```
|
||||
|
||||
2. Clone the repository:
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
{
|
||||
"app-id" : "info.febvre.Komikku",
|
||||
"runtime" : "org.gnome.Platform",
|
||||
"runtime-version" : "43",
|
||||
"runtime-version" : "44",
|
||||
"sdk" : "org.gnome.Sdk",
|
||||
"sdk-extensions" : [
|
||||
"org.freedesktop.Sdk.Extension.rust-stable"
|
||||
|
|
|
@ -10,19 +10,18 @@ gi.require_version('Adw', '1')
|
|||
gi.require_version('Gtk', '4.0')
|
||||
gi.require_version('Soup', '3.0')
|
||||
|
||||
try:
|
||||
gi.require_version('WebKit', '6.0')
|
||||
from gi.repository import WebKit
|
||||
except ValueError:
|
||||
gi.require_version('WebKit2', '5.0')
|
||||
from gi.repository import WebKit2 as WebKit
|
||||
|
||||
from gi.repository import Adw
|
||||
from gi.repository import Gdk
|
||||
from gi.repository import GLib
|
||||
from gi.repository import Gsk
|
||||
from gi.repository import Gtk
|
||||
from gi.repository import Soup
|
||||
try:
|
||||
gi.require_version('WebKit', '6.0')
|
||||
from gi.repository import WebKit
|
||||
except ValueError:
|
||||
gi.require_version('WebKit2', '5.0')
|
||||
from gi.repository import WebKit2 as WebKit
|
||||
|
||||
from komikku.models.database import VERSION as DB_VERSION
|
||||
from komikku.utils import check_cmdline_tool
|
||||
|
|
|
@ -12,6 +12,10 @@ import platform
|
|||
import requests
|
||||
import time
|
||||
|
||||
from gi.repository import Gio
|
||||
from gi.repository import GLib
|
||||
from gi.repository import GObject
|
||||
from gi.repository import Gtk
|
||||
try:
|
||||
gi.require_version('WebKit', '6.0')
|
||||
from gi.repository import WebKit
|
||||
|
@ -21,11 +25,6 @@ except ValueError:
|
|||
from gi.repository import WebKit2 as WebKit
|
||||
IS_WEBKITGTK6 = False
|
||||
|
||||
from gi.repository import Gio
|
||||
from gi.repository import GLib
|
||||
from gi.repository import GObject
|
||||
from gi.repository import Gtk
|
||||
|
||||
from komikku.servers.exceptions import CfBypassError
|
||||
from komikku.utils import get_cache_dir
|
||||
|
||||
|
@ -227,7 +226,10 @@ def bypass_cf(func):
|
|||
}
|
||||
}, 100);
|
||||
"""
|
||||
webview.webkit_webview.run_javascript(js, None, None)
|
||||
if IS_WEBKITGTK6:
|
||||
webview.webkit_webview.evaluate_javascript(js, -1)
|
||||
else:
|
||||
webview.webkit_webview.run_javascript(js, None, None)
|
||||
|
||||
def on_load_failed(_webkit_webview, _event, uri, _gerror):
|
||||
nonlocal error
|
||||
|
@ -318,11 +320,16 @@ def get_page_html(url, user_agent=None, settings=None, wait_js_code=None):
|
|||
nonlocal error
|
||||
nonlocal html
|
||||
|
||||
js_result = webview.webkit_webview.run_javascript_finish(result)
|
||||
if js_result:
|
||||
js_value = js_result.get_js_value()
|
||||
if js_value:
|
||||
html = js_value.to_string()
|
||||
if IS_WEBKITGTK6:
|
||||
js_result = webview.webkit_webview.evaluate_javascript_finish(result)
|
||||
if js_result:
|
||||
html = js_result.to_string()
|
||||
else:
|
||||
js_result = webview.webkit_webview.run_javascript_finish(result)
|
||||
if js_result:
|
||||
js_value = js_result.get_js_value()
|
||||
if js_value:
|
||||
html = js_value.to_string()
|
||||
|
||||
if html is None:
|
||||
error = f'Failed to get chapter page html: {url}'
|
||||
|
@ -335,9 +342,15 @@ def get_page_html(url, user_agent=None, settings=None, wait_js_code=None):
|
|||
|
||||
if wait_js_code:
|
||||
# Wait that everything needed has been loaded
|
||||
webview.webkit_webview.run_javascript(wait_js_code, None, None, None)
|
||||
if IS_WEBKITGTK6:
|
||||
webview.webkit_webview.evaluate_javascript(wait_js_code, -1)
|
||||
else:
|
||||
webview.webkit_webview.run_javascript(wait_js_code, None, None, None)
|
||||
else:
|
||||
webview.webkit_webview.run_javascript('document.documentElement.outerHTML', None, on_get_html_finish, None)
|
||||
if IS_WEBKITGTK6:
|
||||
webview.webkit_webview.evaluate_javascript('document.documentElement.outerHTML', -1, None, None, None, on_get_html_finish)
|
||||
else:
|
||||
webview.webkit_webview.run_javascript('document.documentElement.outerHTML', None, on_get_html_finish, None)
|
||||
|
||||
def on_load_failed(_webkit_webview, _event, _uri, gerror):
|
||||
nonlocal error
|
||||
|
@ -351,7 +364,11 @@ def get_page_html(url, user_agent=None, settings=None, wait_js_code=None):
|
|||
|
||||
if webview.webkit_webview.props.title == 'ready':
|
||||
# Everything we need has been loaded, we can retrieve page HTML
|
||||
webview.webkit_webview.run_javascript('document.documentElement.outerHTML', None, on_get_html_finish, None)
|
||||
if IS_WEBKITGTK6:
|
||||
webview.webkit_webview.evaluate_javascript('document.documentElement.outerHTML', -1, None, None, None, on_get_html_finish)
|
||||
else:
|
||||
webview.webkit_webview.run_javascript('document.documentElement.outerHTML', None, on_get_html_finish, None)
|
||||
|
||||
elif webview.webkit_webview.props.title == 'abort':
|
||||
error = f'Failed to get chapter page html: {url}'
|
||||
webview.close()
|
||||
|
|
Loading…
Reference in New Issue