Handle a missing session folder at some places.
This commit is contained in:
parent
d700d18780
commit
f85ba8645f
@ -44,7 +44,7 @@ except ImportError:
|
|||||||
import qutebrowser
|
import qutebrowser
|
||||||
import qutebrowser.resources # pylint: disable=unused-import
|
import qutebrowser.resources # pylint: disable=unused-import
|
||||||
from qutebrowser.completion.models import instances as completionmodels
|
from qutebrowser.completion.models import instances as completionmodels
|
||||||
from qutebrowser.commands import cmdutils, runners
|
from qutebrowser.commands import cmdutils, runners, cmdexc
|
||||||
from qutebrowser.config import style, config, websettings, configexc
|
from qutebrowser.config import style, config, websettings, configexc
|
||||||
from qutebrowser.browser import quickmarks, cookies, cache, adblock, history
|
from qutebrowser.browser import quickmarks, cookies, cache, adblock, history
|
||||||
from qutebrowser.browser.network import qutescheme, proxy, networkmanager
|
from qutebrowser.browser.network import qutescheme, proxy, networkmanager
|
||||||
@ -728,7 +728,11 @@ class Application(QApplication):
|
|||||||
@cmdutils.register(instance='app')
|
@cmdutils.register(instance='app')
|
||||||
def restart(self):
|
def restart(self):
|
||||||
"""Restart qutebrowser while keeping existing tabs open."""
|
"""Restart qutebrowser while keeping existing tabs open."""
|
||||||
|
try:
|
||||||
ok = self._do_restart(session='_restart')
|
ok = self._do_restart(session='_restart')
|
||||||
|
except sessions.SessionError as e:
|
||||||
|
log.destroy.exception("Failed to save session!")
|
||||||
|
raise cmdexc.CommandError("Failed to save session: {}!".format(e))
|
||||||
if ok:
|
if ok:
|
||||||
self.shutdown()
|
self.shutdown()
|
||||||
|
|
||||||
|
@ -20,7 +20,7 @@
|
|||||||
"""Misc. CompletionModels."""
|
"""Misc. CompletionModels."""
|
||||||
|
|
||||||
from qutebrowser.config import config, configdata
|
from qutebrowser.config import config, configdata
|
||||||
from qutebrowser.utils import objreg
|
from qutebrowser.utils import objreg, log
|
||||||
from qutebrowser.commands import cmdutils
|
from qutebrowser.commands import cmdutils
|
||||||
from qutebrowser.completion.models import base
|
from qutebrowser.completion.models import base
|
||||||
|
|
||||||
@ -120,6 +120,9 @@ class SessionCompletionModel(base.BaseCompletionModel):
|
|||||||
def __init__(self, parent=None):
|
def __init__(self, parent=None):
|
||||||
super().__init__(parent)
|
super().__init__(parent)
|
||||||
cat = self.new_category("Sessions")
|
cat = self.new_category("Sessions")
|
||||||
|
try:
|
||||||
for name in objreg.get('session-manager').list_sessions():
|
for name in objreg.get('session-manager').list_sessions():
|
||||||
if not name.startswith('_'):
|
if not name.startswith('_'):
|
||||||
self.new_item(cat, name)
|
self.new_item(cat, name)
|
||||||
|
except OSError:
|
||||||
|
log.completion.exception("Failed to list sessions!")
|
||||||
|
@ -375,6 +375,10 @@ class SessionManager(QObject):
|
|||||||
name))
|
name))
|
||||||
try:
|
try:
|
||||||
self.delete(name)
|
self.delete(name)
|
||||||
except OSError as e:
|
except SessionNotFoundError as e:
|
||||||
|
log.misc.exception("Session not found!")
|
||||||
|
raise cmdexc.CommandError("Session {} not found".format(e))
|
||||||
|
except (OSError, SessionError) as e:
|
||||||
|
log.misc.exception("Error while deleting session!")
|
||||||
raise cmdexc.CommandError("Error while deleting session: {}"
|
raise cmdexc.CommandError("Error while deleting session: {}"
|
||||||
.format(e))
|
.format(e))
|
||||||
|
Loading…
Reference in New Issue
Block a user