[Python-modules-commits] [sphinx] 01/01: Port jstest to WebKit2.
Dmitry Shachnev
mitya57 at moszumanska.debian.org
Tue Feb 2 10:30:03 UTC 2016
This is an automated email from the git hooks/post-receive script.
mitya57 pushed a commit to branch master
in repository sphinx.
commit aec7ca4cdae8dc9d7978766534138c99be7798d1
Author: Dmitry Shachnev <mitya57 at gmail.com>
Date: Tue Feb 2 13:29:51 2016 +0300
Port jstest to WebKit2.
---
debian/changelog | 6 ++++++
debian/control | 2 +-
debian/jstest/jstest.py | 34 ++++++++++++++++++----------------
debian/tests/control | 2 +-
4 files changed, 26 insertions(+), 18 deletions(-)
diff --git a/debian/changelog b/debian/changelog
index b1e5671..29e9748 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,9 @@
+sphinx (1.3.5-2) UNRELEASED; urgency=medium
+
+ * Port jstest to WebKit2.
+
+ -- Dmitry Shachnev <mitya57 at debian.org> Tue, 02 Feb 2016 13:25:47 +0300
+
sphinx (1.3.5-1) unstable; urgency=medium
* New upstream bugfix release.
diff --git a/debian/control b/debian/control
index 92de998..c8a6c42 100644
--- a/debian/control
+++ b/debian/control
@@ -21,7 +21,7 @@ Build-Depends-Indep: dh-python,
python-sphinx-rtd-theme, python3-sphinx-rtd-theme,
python-alabaster (>= 0.7), python3-alabaster (>= 0.7),
xvfb, xauth, libjs-jquery (>= 1.4), libjs-underscore,
- python3-gi, gir1.2-webkit-3.0,
+ python3-gi, gir1.2-webkit2-4.0 (>= 2.10),
texlive-latex-recommended, texlive-latex-extra, texlive-fonts-recommended, texinfo,
perl
X-Python-Version: >= 2.6
diff --git a/debian/jstest/jstest.py b/debian/jstest/jstest.py
index 60cea39..bc5ce18 100644
--- a/debian/jstest/jstest.py
+++ b/debian/jstest/jstest.py
@@ -34,8 +34,8 @@ import unittest
import gi
gi.require_version('Gtk', '3.0')
-gi.require_version('WebKit', '3.0')
-from gi.repository import GLib, Gtk, WebKit
+gi.require_version('WebKit2', '4.0')
+from gi.repository import Gio, GLib, Gtk, WebKit2
default_time_limit = 10.0
time_step = 0.1
@@ -49,10 +49,10 @@ class Timeout(Exception):
class Browser(object):
def __init__(self, options):
- settings = WebKit.WebSettings()
- settings.set_property('enable-file-access-from-file-uris', True)
+ settings = WebKit2.Settings()
+ settings.set_property('allow-file-access-from-file-urls', True)
self._time_limit = 0
- self._view = WebKit.WebView()
+ self._view = WebKit2.WebView()
self._view.set_settings(settings)
self._result = None
@@ -65,27 +65,29 @@ class Browser(object):
raise Timeout
return self._result
+ def _js_callback(self, source, result):
+ self._view.run_javascript_finish(result)
+ self._result = self._view.get_title()
+
def _extract_html(self):
# There is not obvious way to extract HTML from WebKit.
# We use a trick from <http://code.google.com/p/pywebkitgtk/wiki/HowDoI> instead.
- self._view.execute_script('document.title = document.documentElement.innerHTML')
- try:
- return self._view.get_main_frame().get_title() or ''
- finally:
- self._view.execute_script('document.title = ""')
+ cancellable = Gio.Cancellable()
+ self._view.run_javascript('document.title = document.body.innerHTML',
+ cancellable, self._js_callback)
def _check(self):
- contents = self._extract_html()
- match = re_done.search(contents)
- if match is not None:
- self._result = contents
- Gtk.main_quit()
- return
+ if self._result is not None:
+ match = re_done.search(self._result)
+ if match is not None:
+ Gtk.main_quit()
+ return
self._time_limit -= time_step
if self._time_limit < 0:
self._result = None
Gtk.main_quit()
else:
+ self._extract_html()
GLib.timeout_add(int(1000 * time_step), self._check)
diff --git a/debian/tests/control b/debian/tests/control
index 92766a4..4ce3598 100644
--- a/debian/tests/control
+++ b/debian/tests/control
@@ -5,4 +5,4 @@ Tests: python3-sphinx
Depends: python3-sphinx, python3-pygments (>= 2.1), python3-nose, python3-mock
Tests: sphinx-doc
-Depends: sphinx-doc, python3-gi, gir1.2-webkit-3.0, xauth, xvfb
+Depends: sphinx-doc, python3-gi, gir1.2-webkit2-4.0 (>= 2.10), xauth, xvfb
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/python-modules/packages/sphinx.git
More information about the Python-modules-commits
mailing list