summaryrefslogtreecommitdiff
path: root/qutebrowser/browser/pdfjs.py
diff options
context:
space:
mode:
Diffstat (limited to 'qutebrowser/browser/pdfjs.py')
-rw-r--r--qutebrowser/browser/pdfjs.py35
1 files changed, 19 insertions, 16 deletions
diff --git a/qutebrowser/browser/pdfjs.py b/qutebrowser/browser/pdfjs.py
index 4f719f11a..eb9f503e1 100644
--- a/qutebrowser/browser/pdfjs.py
+++ b/qutebrowser/browser/pdfjs.py
@@ -24,7 +24,8 @@ import os
from PyQt5.QtCore import QUrl, QUrlQuery
-from qutebrowser.utils import utils, javascript, jinja, qtutils, usertypes
+from qutebrowser.utils import (utils, javascript, jinja, qtutils, usertypes,
+ standarddir)
from qutebrowser.misc import objects
from qutebrowser.config import config
@@ -55,7 +56,8 @@ def generate_pdfjs_page(filename, url):
if not is_available():
return jinja.render('no_pdfjs.html',
url=url.toDisplayString(),
- title="PDF.js not found")
+ title="PDF.js not found",
+ pdfjs_dir=os.path.join(standarddir.data(), 'pdfjs'))
html = get_pdfjs_res('web/viewer.html').decode('utf-8')
script = _generate_pdfjs_script(filename)
@@ -110,19 +112,6 @@ def _generate_pdfjs_script(filename):
objects.backend == usertypes.Backend.QtWebEngine))
-SYSTEM_PDFJS_PATHS = [
- # Debian pdf.js-common
- # Arch Linux pdfjs (AUR)
- '/usr/share/pdf.js/',
- # Arch Linux pdf.js (AUR)
- '/usr/share/javascript/pdf.js/',
- # Debian libjs-pdf
- '/usr/share/javascript/pdf/',
- # fallback
- os.path.expanduser('~/.local/share/qutebrowser/pdfjs/'),
-]
-
-
def get_pdfjs_res_and_path(path):
"""Get a pdf.js resource in binary format.
@@ -137,11 +126,25 @@ def get_pdfjs_res_and_path(path):
content = None
file_path = None
+ system_paths = [
+ # Debian pdf.js-common
+ # Arch Linux pdfjs (AUR)
+ '/usr/share/pdf.js/',
+ # Arch Linux pdf.js (AUR)
+ '/usr/share/javascript/pdf.js/',
+ # Debian libjs-pdf
+ '/usr/share/javascript/pdf/',
+ # fallback
+ os.path.join(standarddir.data(), 'pdfjs'),
+ # hardcoded fallback for --temp-basedir
+ os.path.expanduser('~/.local/share/qutebrowser/pdfjs/'),
+ ]
+
# First try a system wide installation
# System installations might strip off the 'build/' or 'web/' prefixes.
# qute expects them, so we need to adjust for it.
names_to_try = [path, _remove_prefix(path)]
- for system_path in SYSTEM_PDFJS_PATHS:
+ for system_path in system_paths:
content, file_path = _read_from_system(system_path, names_to_try)
if content is not None:
break