summaryrefslogtreecommitdiff
path: root/qutebrowser/commands
diff options
context:
space:
mode:
authorFlorian Bruhin <me@the-compiler.org>2019-10-22 10:32:14 +0200
committerFlorian Bruhin <me@the-compiler.org>2019-10-22 17:23:50 +0200
commitd02641e88d1a1e402443a83850597a64a7e3f60b (patch)
tree26aaf4b5f4ea80e014043178708b7e8641418dbb /qutebrowser/commands
parenteef463c2be224e78da2df67e59bd7ef9b131b3a0 (diff)
downloadqutebrowser-d02641e88d1a1e402443a83850597a64a7e3f60b.tar.gz
qutebrowser-d02641e88d1a1e402443a83850597a64a7e3f60b.zip
mypy: Fix new isuses in commands.userscripts
Diffstat (limited to 'qutebrowser/commands')
-rw-r--r--qutebrowser/commands/userscripts.py17
1 files changed, 13 insertions, 4 deletions
diff --git a/qutebrowser/commands/userscripts.py b/qutebrowser/commands/userscripts.py
index 484a6c09f..2f6275478 100644
--- a/qutebrowser/commands/userscripts.py
+++ b/qutebrowser/commands/userscripts.py
@@ -60,7 +60,7 @@ class _QtFIFOReader(QObject):
# pylint: enable=no-member,useless-suppression
self._fifo = os.fdopen(fd, 'r')
self._notifier = QSocketNotifier(fd, QSocketNotifier.Read, self)
- self._notifier.activated.connect(self.read_line)
+ self._notifier.activated.connect(self.read_line) # type: ignore
@pyqtSlot()
def read_line(self):
@@ -117,8 +117,8 @@ class _BaseUserscriptRunner(QObject):
self._env = {} # type: typing.MutableMapping[str, str]
self._text_stored = False
self._html_stored = False
- self._args = None
- self._kwargs = None
+ self._args = () # type: typing.Tuple[typing.Any, ...]
+ self._kwargs = {}
def store_text(self, text):
"""Called as callback when the text is ready from the web backend."""
@@ -157,9 +157,11 @@ class _BaseUserscriptRunner(QObject):
env: A dictionary of environment variables to add.
verbose: Show notifications when the command started/exited.
"""
+ assert self._filepath is not None
self._env['QUTE_FIFO'] = self._filepath
if env is not None:
self._env.update(env)
+
self._proc = guiprocess.GUIProcess('userscript',
additional_env=self._env,
verbose=verbose, parent=self)
@@ -169,14 +171,17 @@ class _BaseUserscriptRunner(QObject):
def _cleanup(self):
"""Clean up temporary files."""
+ assert self._filepath is not None
if self._cleaned_up:
return
self._cleaned_up = True
+
tempfiles = [self._filepath]
if 'QUTE_HTML' in self._env:
tempfiles.append(self._env['QUTE_HTML'])
if 'QUTE_TEXT' in self._env:
tempfiles.append(self._env['QUTE_TEXT'])
+
for fn in tempfiles:
log.procs.debug("Deleting temporary file {}.".format(fn))
try:
@@ -186,6 +191,7 @@ class _BaseUserscriptRunner(QObject):
# executed async.
message.error("Failed to delete tempfile {} ({})!".format(
fn, e))
+
self._filepath = None
self._proc = None
self._env = {}
@@ -255,7 +261,7 @@ class _POSIXUserscriptRunner(_BaseUserscriptRunner):
return
self._reader = _QtFIFOReader(self._filepath)
- self._reader.got_line.connect(self.got_cmd)
+ self._reader.got_line.connect(self.got_cmd) # type: ignore
@pyqtSlot()
def on_proc_finished(self):
@@ -267,8 +273,10 @@ class _POSIXUserscriptRunner(_BaseUserscriptRunner):
def _cleanup(self):
"""Clean up reader and temporary files."""
+ assert self._reader is not None
if self._cleaned_up:
return
+
log.procs.debug("Cleaning up")
self._reader.cleanup()
self._reader.deleteLater()
@@ -292,6 +300,7 @@ class _WindowsUserscriptRunner(_BaseUserscriptRunner):
def _cleanup(self):
"""Clean up temporary files after the userscript finished."""
+ assert self._filepath is not None
if self._cleaned_up:
return