diff options
Diffstat (limited to 'qutebrowser/browser/pdfjs.py')
-rw-r--r-- | qutebrowser/browser/pdfjs.py | 35 |
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 |