Improve modeman.maybe_leave logging/exception.
This commit is contained in:
parent
6b459f43f1
commit
0494bc3763
@ -37,6 +37,11 @@ class ModeLockedError(Exception):
|
|||||||
"""Exception raised when the mode is currently locked."""
|
"""Exception raised when the mode is currently locked."""
|
||||||
|
|
||||||
|
|
||||||
|
class NotInModeError(Exception):
|
||||||
|
|
||||||
|
"""Exception raised when we want to leave a mode we're not in."""
|
||||||
|
|
||||||
|
|
||||||
def enter(mode, reason=None):
|
def enter(mode, reason=None):
|
||||||
"""Enter the mode 'mode'."""
|
"""Enter the mode 'mode'."""
|
||||||
objreg.get('mode-manager').enter(mode, reason)
|
objreg.get('mode-manager').enter(mode, reason)
|
||||||
@ -59,9 +64,9 @@ def maybe_leave(mode, reason=None):
|
|||||||
"""Convenience method to leave 'mode' without exceptions."""
|
"""Convenience method to leave 'mode' without exceptions."""
|
||||||
try:
|
try:
|
||||||
objreg.get('mode-manager').leave(mode, reason)
|
objreg.get('mode-manager').leave(mode, reason)
|
||||||
except ValueError as e:
|
except NotInModeError as e:
|
||||||
# This is rather likely to happen, so we only log to debug log.
|
# This is rather likely to happen, so we only log to debug log.
|
||||||
log.modes.debug(e)
|
log.modes.debug("{} (leave reason: {})".format(e, reason))
|
||||||
|
|
||||||
|
|
||||||
class ModeManager(QObject):
|
class ModeManager(QObject):
|
||||||
@ -238,7 +243,7 @@ class ModeManager(QObject):
|
|||||||
try:
|
try:
|
||||||
self._mode_stack.remove(mode)
|
self._mode_stack.remove(mode)
|
||||||
except ValueError:
|
except ValueError:
|
||||||
raise ValueError("Mode {} not on mode stack!".format(mode))
|
raise NotInModeError("Mode {} not on mode stack!".format(mode))
|
||||||
self.locked = False
|
self.locked = False
|
||||||
log.modes.debug("Leaving mode {}{}, new mode stack {}".format(
|
log.modes.debug("Leaving mode {}{}, new mode stack {}".format(
|
||||||
mode, '' if reason is None else ' (reason: {})'.format(reason),
|
mode, '' if reason is None else ' (reason: {})'.format(reason),
|
||||||
|
Loading…
Reference in New Issue
Block a user