From bf29c2a7535aac900ffad781d5547a2d6a20d9f9 Mon Sep 17 00:00:00 2001 From: Florian Bruhin Date: Wed, 10 Aug 2016 09:40:38 +0200 Subject: [PATCH] Import keyconf at file scope again in config.py Various code (like src2asciidoc.py) relies on all @cmdutils.register decorators being called when qutebrowser.app is imported. Moving the keyconf import to _init_key_config broke that assumption, as keyconf isn't imported anywhere anymore - which caused :bind and :unbind to vanish from the generated documentation. In the long run we should perhaps use venusian: http://docs.pylonsproject.org/projects/venusian/ But for now, this is the easiest solution. --- qutebrowser/config/config.py | 2 +- qutebrowser/config/parsers/keyconf.py | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/qutebrowser/config/config.py b/qutebrowser/config/config.py index 54e81d659..5ef7d0ee6 100644 --- a/qutebrowser/config/config.py +++ b/qutebrowser/config/config.py @@ -36,6 +36,7 @@ import collections.abc from PyQt5.QtCore import pyqtSignal, QObject, QUrl, QSettings from qutebrowser.config import configdata, configexc, textwrapper +from qutebrowser.config.parsers import keyconf from qutebrowser.config.parsers import ini from qutebrowser.commands import cmdexc, cmdutils from qutebrowser.utils import (message, objreg, utils, standarddir, log, @@ -178,7 +179,6 @@ def _init_key_config(parent): Args: parent: The parent to use for the KeyConfigParser. """ - from qutebrowser.config.parsers import keyconf args = objreg.get('args') try: key_config = keyconf.KeyConfigParser(standarddir.config(), 'keys.conf', diff --git a/qutebrowser/config/parsers/keyconf.py b/qutebrowser/config/parsers/keyconf.py index 7a14a76d1..2eebd6bd9 100644 --- a/qutebrowser/config/parsers/keyconf.py +++ b/qutebrowser/config/parsers/keyconf.py @@ -25,7 +25,7 @@ import itertools from PyQt5.QtCore import pyqtSignal, QObject -from qutebrowser.config import configdata, textwrapper, config +from qutebrowser.config import configdata, textwrapper from qutebrowser.commands import cmdutils, cmdexc from qutebrowser.utils import log, utils, qtutils, message, usertypes @@ -335,6 +335,7 @@ class KeyConfigParser(QObject): def _validate_command(self, line): """Check if a given command is valid.""" + from qutebrowser.config import config if line == self.UNBOUND_COMMAND: return commands = line.split(';;')