diff options
author | Jimmy <jimmy@spalge.com> | 2018-01-27 22:03:45 +1300 |
---|---|---|
committer | Jimmy <jimmy@spalge.com> | 2018-03-03 15:02:43 +1300 |
commit | 0adda22d3cd7470fd1e324f9e970ad32bc3bb042 (patch) | |
tree | 7ca18223fc070b27ba0c31559bb56cc3fd239edc /qutebrowser/browser/greasemonkey.py | |
parent | 7dab8335e2f399ef9d9e0e43e39375fd36b15e4a (diff) | |
download | qutebrowser-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.py | 23 |
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': |