[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