Stop using objreg for state-config
This commit is contained in:
parent
70b8585e95
commit
3e0ca5d94d
@ -43,7 +43,7 @@ import qutebrowser
|
||||
import qutebrowser.resources
|
||||
from qutebrowser.completion.models import miscmodels
|
||||
from qutebrowser.commands import cmdutils, runners, cmdexc
|
||||
from qutebrowser.config import config, websettings, configexc
|
||||
from qutebrowser.config import config, websettings, configexc, configfiles
|
||||
from qutebrowser.browser import (urlmarks, adblock, history, browsertab,
|
||||
downloads)
|
||||
from qutebrowser.browser.network import proxy
|
||||
@ -213,13 +213,12 @@ def _load_session(name):
|
||||
Args:
|
||||
name: The name of the session to load, or None to read state file.
|
||||
"""
|
||||
state_config = objreg.get('state-config')
|
||||
session_manager = objreg.get('session-manager')
|
||||
if name is None and session_manager.exists('_autosave'):
|
||||
name = '_autosave'
|
||||
elif name is None:
|
||||
try:
|
||||
name = state_config['general']['session']
|
||||
name = configfiles.state['general']['session']
|
||||
except KeyError:
|
||||
# No session given as argument and none in the session file ->
|
||||
# start without loading a session
|
||||
@ -232,7 +231,7 @@ def _load_session(name):
|
||||
except sessions.SessionError as e:
|
||||
message.error("Failed to load session {}: {}".format(name, e))
|
||||
try:
|
||||
del state_config['general']['session']
|
||||
del configfiles.state['general']['session']
|
||||
except KeyError:
|
||||
pass
|
||||
# If this was a _restart session, delete it.
|
||||
@ -326,8 +325,7 @@ def _open_special_pages(args):
|
||||
# With --basedir given, don't open anything.
|
||||
return
|
||||
|
||||
state_config = objreg.get('state-config')
|
||||
general_sect = state_config['general']
|
||||
general_sect = configfiles.state['general']
|
||||
tabbed_browser = objreg.get('tabbed-browser', scope='window',
|
||||
window='last-focused')
|
||||
|
||||
@ -363,13 +361,6 @@ def _open_special_pages(args):
|
||||
general_sect['config-migration-shown'] = '1'
|
||||
|
||||
|
||||
def _save_version():
|
||||
"""Save the current version to the state config."""
|
||||
state_config = objreg.get('state-config', None)
|
||||
if state_config is not None:
|
||||
state_config['general']['version'] = qutebrowser.__version__
|
||||
|
||||
|
||||
def on_focus_changed(_old, new):
|
||||
"""Register currently focused main window in the object registry."""
|
||||
if new is None:
|
||||
@ -410,7 +401,6 @@ def _init_modules(args, crash_handler):
|
||||
log.init.debug("Initializing save manager...")
|
||||
save_manager = savemanager.SaveManager(qApp)
|
||||
objreg.register('save-manager', save_manager)
|
||||
save_manager.add_saveable('version', _save_version)
|
||||
config.late_init(save_manager)
|
||||
|
||||
log.init.debug("Initializing network...")
|
||||
|
@ -24,7 +24,8 @@ import binascii
|
||||
|
||||
from PyQt5.QtWidgets import QWidget
|
||||
|
||||
from qutebrowser.utils import log, objreg, usertypes
|
||||
from qutebrowser.config import configfiles
|
||||
from qutebrowser.utils import log, usertypes
|
||||
from qutebrowser.misc import miscwidgets, objects
|
||||
|
||||
|
||||
@ -67,9 +68,8 @@ class AbstractWebInspector(QWidget):
|
||||
|
||||
def _load_state_geometry(self):
|
||||
"""Load the geometry from the state file."""
|
||||
state_config = objreg.get('state-config')
|
||||
try:
|
||||
data = state_config['geometry']['inspector']
|
||||
data = configfiles.state['geometry']['inspector']
|
||||
geom = base64.b64decode(data, validate=True)
|
||||
except KeyError:
|
||||
# First start
|
||||
@ -84,10 +84,9 @@ class AbstractWebInspector(QWidget):
|
||||
|
||||
def closeEvent(self, e):
|
||||
"""Save the geometry when closed."""
|
||||
state_config = objreg.get('state-config')
|
||||
data = bytes(self.saveGeometry())
|
||||
geom = base64.b64encode(data).decode('ASCII')
|
||||
state_config['geometry']['inspector'] = geom
|
||||
configfiles.state['geometry']['inspector'] = geom
|
||||
super().closeEvent(e)
|
||||
|
||||
def inspect(self, page):
|
||||
|
@ -703,4 +703,4 @@ def late_init(save_manager):
|
||||
_init_errors = []
|
||||
|
||||
instance.init_save_manager(save_manager)
|
||||
objreg.get('state-config').init_save_manager(save_manager)
|
||||
configfiles.state.init_save_manager(save_manager)
|
||||
|
@ -29,10 +29,15 @@ import contextlib
|
||||
import yaml
|
||||
from PyQt5.QtCore import QSettings
|
||||
|
||||
import qutebrowser
|
||||
from qutebrowser.config import configexc
|
||||
from qutebrowser.utils import objreg, standarddir, utils, qtutils
|
||||
|
||||
|
||||
# The StateConfig instance
|
||||
state = None
|
||||
|
||||
|
||||
class StateConfig(configparser.ConfigParser):
|
||||
|
||||
"""The "state" file saving various application state."""
|
||||
@ -232,8 +237,9 @@ def read_config_py(filename=None):
|
||||
|
||||
def init():
|
||||
"""Initialize config storage not related to the main config."""
|
||||
global state
|
||||
state = StateConfig()
|
||||
objreg.register('state-config', state)
|
||||
state['general']['version'] = qutebrowser.__version__
|
||||
|
||||
# Set the QSettings path to something like
|
||||
# ~/.config/qutebrowser/qsettings/qutebrowser/qutebrowser.conf so it
|
||||
|
@ -28,7 +28,7 @@ from PyQt5.QtCore import pyqtSlot, QRect, QPoint, QTimer, Qt
|
||||
from PyQt5.QtWidgets import QWidget, QVBoxLayout, QApplication, QSizePolicy
|
||||
|
||||
from qutebrowser.commands import runners, cmdutils
|
||||
from qutebrowser.config import config
|
||||
from qutebrowser.config import config, configfiles
|
||||
from qutebrowser.utils import (message, log, usertypes, qtutils, objreg, utils,
|
||||
jinja, debug)
|
||||
from qutebrowser.mainwindow import tabbedbrowser, messageview, prompt
|
||||
@ -365,9 +365,8 @@ class MainWindow(QWidget):
|
||||
|
||||
def _load_state_geometry(self):
|
||||
"""Load the geometry from the state file."""
|
||||
state_config = objreg.get('state-config')
|
||||
try:
|
||||
data = state_config['geometry']['mainwindow']
|
||||
data = configfiles.state['geometry']['mainwindow']
|
||||
geom = base64.b64decode(data, validate=True)
|
||||
except KeyError:
|
||||
# First start
|
||||
@ -380,10 +379,9 @@ class MainWindow(QWidget):
|
||||
|
||||
def _save_geometry(self):
|
||||
"""Save the window geometry to the state config."""
|
||||
state_config = objreg.get('state-config')
|
||||
data = bytes(self.saveGeometry())
|
||||
geom = base64.b64encode(data).decode('ASCII')
|
||||
state_config['geometry']['mainwindow'] = geom
|
||||
configfiles.state['geometry']['mainwindow'] = geom
|
||||
|
||||
def _load_geometry(self, geom):
|
||||
"""Load geometry from a bytes object.
|
||||
|
@ -38,7 +38,7 @@ import qutebrowser
|
||||
from qutebrowser.utils import version, log, utils, objreg, usertypes
|
||||
from qutebrowser.misc import (miscwidgets, autoupdate, msgbox, httpclient,
|
||||
pastebin, objects)
|
||||
from qutebrowser.config import config
|
||||
from qutebrowser.config import config, configfiles
|
||||
|
||||
|
||||
def parse_fatal_stacktrace(text):
|
||||
@ -159,11 +159,12 @@ class _CrashDialog(QDialog):
|
||||
self._vbox.addWidget(contact)
|
||||
self._contact = QTextEdit(tabChangesFocus=True, acceptRichText=False)
|
||||
try:
|
||||
state = objreg.get('state-config')
|
||||
try:
|
||||
self._contact.setPlainText(state['general']['contact-info'])
|
||||
info = configfiles.state['general']['contact-info']
|
||||
except KeyError:
|
||||
self._contact.setPlaceholderText("Mail or IRC nickname")
|
||||
else:
|
||||
self._contact.setPlainText(info)
|
||||
except Exception:
|
||||
log.misc.exception("Failed to get contact information!")
|
||||
self._contact.setPlaceholderText("Mail or IRC nickname")
|
||||
@ -296,8 +297,8 @@ class _CrashDialog(QDialog):
|
||||
def _save_contact_info(self):
|
||||
"""Save the contact info to disk."""
|
||||
try:
|
||||
state = objreg.get('state-config')
|
||||
state['general']['contact-info'] = self._contact.toPlainText()
|
||||
info = self._contact.toPlainText()
|
||||
configfiles.state['general']['contact-info'] = info
|
||||
except Exception:
|
||||
log.misc.exception("Failed to save contact information!")
|
||||
|
||||
|
@ -30,7 +30,7 @@ import yaml
|
||||
from qutebrowser.utils import (standarddir, objreg, qtutils, log, message,
|
||||
utils)
|
||||
from qutebrowser.commands import cmdexc, cmdutils
|
||||
from qutebrowser.config import config
|
||||
from qutebrowser.config import config, configfiles
|
||||
from qutebrowser.completion.models import miscmodels
|
||||
|
||||
|
||||
@ -294,8 +294,7 @@ class SessionManager(QObject):
|
||||
raise SessionError(e)
|
||||
|
||||
if load_next_time:
|
||||
state_config = objreg.get('state-config')
|
||||
state_config['general']['session'] = name
|
||||
configfiles.state['general']['session'] = name
|
||||
return name
|
||||
|
||||
def save_autosave(self):
|
||||
|
@ -28,7 +28,7 @@ from PyQt5.QtCore import QObject, QUrl
|
||||
from PyQt5.QtGui import QColor
|
||||
|
||||
from qutebrowser.commands import cmdexc
|
||||
from qutebrowser.config import config, configdata, configexc
|
||||
from qutebrowser.config import config, configdata, configexc, configfiles
|
||||
from qutebrowser.utils import objreg, usertypes
|
||||
from qutebrowser.misc import objects
|
||||
|
||||
@ -870,16 +870,16 @@ def test_set_register_stylesheet(delete, stylesheet_param, update, qtbot,
|
||||
def init_patch(qapp, fake_save_manager, monkeypatch, config_tmpdir,
|
||||
data_tmpdir):
|
||||
monkeypatch.setattr(configdata, 'DATA', None)
|
||||
monkeypatch.setattr(configfiles, 'state', None)
|
||||
monkeypatch.setattr(config, 'instance', None)
|
||||
monkeypatch.setattr(config, 'key_instance', None)
|
||||
monkeypatch.setattr(config, '_change_filters', [])
|
||||
monkeypatch.setattr(config, '_init_errors', [])
|
||||
yield
|
||||
for obj in ['config-commands', 'state-config']:
|
||||
try:
|
||||
objreg.delete(obj)
|
||||
except KeyError:
|
||||
pass
|
||||
try:
|
||||
objreg.delete('config-commands')
|
||||
except KeyError:
|
||||
pass
|
||||
|
||||
|
||||
@pytest.mark.parametrize('load_autoconfig', [True, False]) # noqa
|
||||
|
@ -320,9 +320,9 @@ class TestConfigPy:
|
||||
|
||||
@pytest.fixture
|
||||
def init_patch(qapp, fake_save_manager, config_tmpdir, data_tmpdir,
|
||||
config_stub):
|
||||
config_stub, monkeypatch):
|
||||
monkeypatch.setattr(configfiles, 'state', None)
|
||||
yield
|
||||
objreg.delete('state-config')
|
||||
|
||||
|
||||
def test_init(init_patch, config_tmpdir):
|
||||
|
@ -186,11 +186,10 @@ def test_get_session_name(config_stub, sess_man, arg, config, current,
|
||||
class TestSave:
|
||||
|
||||
@pytest.fixture
|
||||
def state_config(self):
|
||||
def state_config(self, monkeypatch):
|
||||
state = {'general': {}}
|
||||
objreg.register('state-config', state)
|
||||
yield state
|
||||
objreg.delete('state-config')
|
||||
monkeypatch.setattr(sessions.configfiles, 'state', state)
|
||||
return state
|
||||
|
||||
@pytest.fixture
|
||||
def fake_history(self, win_registry, stubs, monkeypatch, webview):
|
||||
|
Loading…
Reference in New Issue
Block a user