From 70597d574f61d060a640769c5039f37efc9a309a Mon Sep 17 00:00:00 2001 From: meles5 Date: Fri, 25 Sep 2015 14:31:04 +0200 Subject: [PATCH] Added resource_url() function and used this function in the error page --- qutebrowser/html/error.html | 95 ++++++++++++++------ qutebrowser/img/broken_qutebrowser_logo.png | Bin 0 -> 73080 bytes qutebrowser/utils/jinja.py | 7 ++ tests/unit/utils/test_jinja.py | 15 ++++ 4 files changed, 88 insertions(+), 29 deletions(-) create mode 100644 qutebrowser/img/broken_qutebrowser_logo.png diff --git a/qutebrowser/html/error.html b/qutebrowser/html/error.html index 664725f1e..a00aa6730 100644 --- a/qutebrowser/html/error.html +++ b/qutebrowser/html/error.html @@ -1,25 +1,59 @@ {% extends "base.html" %} {% block style %} {{ super() }} -#errorContainer { - background: #fff; - min-width: 35em; - max-width: 35em; - position: absolute; - top: 2em; - left: 1em; - padding: 10px; - border: 2px solid #eee; - -webkit-border-radius: 5px; +* { + margin: 0px 0px; + padding: 0px 0px; } -#errorTitleText { - font-size: 118%; - font-weight: bold; +body { + font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; + -webkit-text-size-adjust: none; + color: #333333; + background-color: #EEEEEE; + font-size: 1.2em; } -#errorMessageText { - font-size: 80%; +#error-container { + margin-left: 20px; + margin-right: 20px; + margin-top: 20px; + border: 1px solid #CCCCCC; + box-shadow: 0px 0px 6px rgba(0, 0, 0, 0.20); + border-radius: 5px; + background-color: #FFFFFF; + padding: 20px 20px; +} + +#header { + border-bottom: 1px solid #CCC; +} + +.qutebrowser-broken { + display: block; + width: 100%; +} + +td { + margin-top: 20px; + color: #555; +} + +h1 { + font-weight: normal; + color: #1e89c6; + margin-bottom: 10px; +} + +ul { + margin-left: 20px; + margin-top: 20px; + margin-bottom: 20px; +} + +li { + margin-top: 10px; + margin-bottom: 10px; } {% endblock %} @@ -35,19 +69,22 @@ function searchFor(uri) { {% endblock %} {% block content %} -
-
-

Unable to load page

-
-
-

Problem occurred while loading the URL {{ url }}

-

{{ error }}

-

-
- -
- - -
+
+ + + + + +
+ + +

Unable to load page

+ Error while opening {{ url }}:
+

{{ error }}



+ +
+ +
+
{% endblock %} diff --git a/qutebrowser/img/broken_qutebrowser_logo.png b/qutebrowser/img/broken_qutebrowser_logo.png new file mode 100644 index 0000000000000000000000000000000000000000..6340ed0329792a834a4664ee49d54786162216fc GIT binary patch literal 73080 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 literal 0 HcmV?d00001 diff --git a/qutebrowser/utils/jinja.py b/qutebrowser/utils/jinja.py index 549f13ea7..54365d542 100644 --- a/qutebrowser/utils/jinja.py +++ b/qutebrowser/utils/jinja.py @@ -25,6 +25,8 @@ import jinja2 from qutebrowser.utils import utils +from PyQt5.QtCore import QUrl + class Loader(jinja2.BaseLoader): @@ -59,4 +61,9 @@ def _guess_autoescape(template_name): return ext in ('html', 'htm', 'xml') +def resource_url(path): + image = utils.resource_filename(path) + return QUrl.fromLocalFile(image).toString(QUrl.FullyEncoded) + env = jinja2.Environment(loader=Loader('html'), autoescape=_guess_autoescape) +env.globals['resource_url'] = resource_url diff --git a/tests/unit/utils/test_jinja.py b/tests/unit/utils/test_jinja.py index c0b95eacc..808d87716 100644 --- a/tests/unit/utils/test_jinja.py +++ b/tests/unit/utils/test_jinja.py @@ -23,6 +23,7 @@ import os.path import pytest import jinja2 +from PyQt5.QtCore import QUrl from qutebrowser.utils import jinja @@ -34,6 +35,8 @@ def patch_read_file(monkeypatch): """A read_file which returns a simple template if the path is right.""" if path == os.path.join('html', 'test.html'): return """Hello {{var}}""" + elif path == os.path.join('html', 'test2.html'): + return """{{ resource_url('utils/testfile') }}""" else: raise IOError("Invalid path {}!".format(path)) @@ -48,6 +51,18 @@ def test_simple_template(): assert data == "Hello World" +def test_resource_url(): + """Test resource_url() which can be used from templates.""" + template = jinja.env.get_template('test2.html') + data = template.render() # pylint: disable=no-member + print(data) + url = QUrl(data) + assert url.isValid() + assert url.scheme() == 'file' + with open(url.path(), 'r', encoding='utf-8') as f: + assert f.read().splitlines()[0] == "Hello World!" + + def test_not_found(): """Test with a template which does not exist.""" with pytest.raises(jinja2.TemplateNotFound) as excinfo: