summaryrefslogtreecommitdiff
path: root/qutebrowser/browser/greasemonkey.py
diff options
context:
space:
mode:
authorJimmy <jimmy@spalge.com>2018-01-27 22:03:45 +1300
committerJimmy <jimmy@spalge.com>2018-03-03 15:02:43 +1300
commit0adda22d3cd7470fd1e324f9e970ad32bc3bb042 (patch)
tree7ca18223fc070b27ba0c31559bb56cc3fd239edc /qutebrowser/browser/greasemonkey.py
parent7dab8335e2f399ef9d9e0e43e39375fd36b15e4a (diff)
downloadqutebrowser-0adda22d3cd7470fd1e324f9e970ad32bc3bb042.tar.gz
qutebrowser-0adda22d3cd7470fd1e324f9e970ad32bc3bb042.zip
Greasemonkey: add a way to register scripts directly.
Previously to add a greasemonkey script you had to write it to the greasemonkey data directory and call load_scripts(). Now you can just make a new GreasemonkeyScript and pass it to add_script(), yay. There are no users of the method yet although I could have used it while writing the tests.
Diffstat (limited to 'qutebrowser/browser/greasemonkey.py')
-rw-r--r--qutebrowser/browser/greasemonkey.py23
1 files changed, 15 insertions, 8 deletions
diff --git a/qutebrowser/browser/greasemonkey.py b/qutebrowser/browser/greasemonkey.py
index 9f7e26f53..6879f4cf6 100644
--- a/qutebrowser/browser/greasemonkey.py
+++ b/qutebrowser/browser/greasemonkey.py
@@ -192,16 +192,23 @@ class GreasemonkeyManager(QObject):
script = GreasemonkeyScript.parse(script_file.read())
if not script.name:
script.name = script_filename
+ self.add_script(script, force)
+ self.scripts_reloaded.emit()
- if script.requires:
- log.greasemonkey.debug(
- "Deferring script until requirements are "
- "fulfilled: {}".format(script.name))
- self._get_required_scripts(script, force)
- else:
- self._add_script(script)
+ def add_script(self, script, force=False):
+ """Add a GreasemonkeyScript to this manager.
- self.scripts_reloaded.emit()
+ Args:
+ force: Fetch and overwrite any dependancies which are
+ already locally cached.
+ """
+ if script.requires:
+ log.greasemonkey.debug(
+ "Deferring script until requirements are "
+ "fulfilled: {}".format(script.name))
+ self._get_required_scripts(script, force)
+ else:
+ self._add_script(script)
def _add_script(self, script):
if script.run_at == 'document-start':