summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFlorian Bruhin <me@the-compiler.org>2023-06-26 13:50:07 +0200
committerFlorian Bruhin <me@the-compiler.org>2023-06-26 13:50:19 +0200
commit6baa6dea26c8a0919db31d53bb1acba3679fd153 (patch)
treef5f64137711507f15d32812f4fbcc82f0202e864
parent9e9b57772e66d5a30eb34cd3b723fc510ccd1112 (diff)
downloadqutebrowser-6baa6dea26c8a0919db31d53bb1acba3679fd153.tar.gz
qutebrowser-6baa6dea26c8a0919db31d53bb1acba3679fd153.zip
Migrate :print --pdf to pathlib
-rw-r--r--qutebrowser/browser/browsertab.py3
-rw-r--r--qutebrowser/browser/webengine/webenginetab.py4
-rw-r--r--qutebrowser/browser/webkit/webkittab.py6
-rw-r--r--qutebrowser/components/misccommands.py13
4 files changed, 13 insertions, 13 deletions
diff --git a/qutebrowser/browser/browsertab.py b/qutebrowser/browser/browsertab.py
index 95851b7f0..ae411a12a 100644
--- a/qutebrowser/browser/browsertab.py
+++ b/qutebrowser/browser/browsertab.py
@@ -20,6 +20,7 @@
"""Base class for a wrapper over QWebView/QWebEngineView."""
import enum
+import pathlib
import itertools
import functools
import dataclasses
@@ -273,7 +274,7 @@ class AbstractPrinting(QObject):
"""
raise NotImplementedError
- def to_pdf(self, filename: str) -> None:
+ def to_pdf(self, path: pathlib.Path) -> None:
"""Print the tab to a PDF with the given filename."""
raise NotImplementedError
diff --git a/qutebrowser/browser/webengine/webenginetab.py b/qutebrowser/browser/webengine/webenginetab.py
index 6f0ea82f3..a1d3af6ea 100644
--- a/qutebrowser/browser/webengine/webenginetab.py
+++ b/qutebrowser/browser/webengine/webenginetab.py
@@ -96,8 +96,8 @@ class WebEnginePrinting(browsertab.AbstractPrinting):
raise browsertab.WebTabError(
"Print previews are unsupported with QtWebEngine")
- def to_pdf(self, filename):
- self._widget.page().printToPdf(filename)
+ def to_pdf(self, path):
+ self._widget.page().printToPdf(str(path))
def to_printer(self, printer):
if machinery.IS_QT5:
diff --git a/qutebrowser/browser/webkit/webkittab.py b/qutebrowser/browser/webkit/webkittab.py
index 0916a0a64..b455f138f 100644
--- a/qutebrowser/browser/webkit/webkittab.py
+++ b/qutebrowser/browser/webkit/webkittab.py
@@ -92,12 +92,12 @@ class WebKitPrinting(browsertab.AbstractPrinting):
def check_preview_support(self):
pass
- def to_pdf(self, filename):
+ def to_pdf(self, path):
printer = QPrinter()
- printer.setOutputFileName(filename)
+ printer.setOutputFileName(str(path))
self._widget.print(printer)
# Can't find out whether there was an error...
- self.pdf_printing_finished.emit(filename, True)
+ self.pdf_printing_finished.emit(str(path), True)
def to_printer(self, printer):
self._widget.print(printer)
diff --git a/qutebrowser/components/misccommands.py b/qutebrowser/components/misccommands.py
index 5bbf93e6a..8352f5f07 100644
--- a/qutebrowser/components/misccommands.py
+++ b/qutebrowser/components/misccommands.py
@@ -91,19 +91,18 @@ def _print_preview(tab: apitypes.Tab) -> None:
diag.exec()
-def _print_pdf(tab: apitypes.Tab, filename: str) -> None:
+def _print_pdf(tab: apitypes.Tab, path: pathlib.Path) -> None:
"""Print to the given PDF file."""
tab.printing.check_pdf_support()
- filename = os.path.expanduser(filename)
- directory = os.path.dirname(filename)
+ path = path.expanduser()
try:
- os.makedirs(directory, exist_ok=True)
+ path.parent.mkdir(parents=True, exist_ok=True)
except OSError as e:
raise cmdutils.CommandError(e)
- tab.printing.to_pdf(filename)
- _LOGGER.debug("Print to file: {}".format(filename))
+ tab.printing.to_pdf(path)
+ _LOGGER.debug(f"Print to file: {path}")
@cmdutils.register(name='print')
@@ -111,7 +110,7 @@ def _print_pdf(tab: apitypes.Tab, filename: str) -> None:
@cmdutils.argument('pdf', flag='f', metavar='file')
def printpage(tab: Optional[apitypes.Tab],
preview: bool = False, *,
- pdf: str = None) -> None:
+ pdf: Optional[pathlib.Path] = None) -> None:
"""Print the current/[count]th tab.
Args: