From d32d6c9b285e20b87b5263145e51f52018a1815f Mon Sep 17 00:00:00 2001 From: Florian Bruhin Date: Wed, 24 Sep 2014 06:41:22 +0200 Subject: [PATCH] Allow a default value for utils.get_object. --- qutebrowser/utils/utils.py | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/qutebrowser/utils/utils.py b/qutebrowser/utils/utils.py index 4a6b4177e..804060591 100644 --- a/qutebrowser/utils/utils.py +++ b/qutebrowser/utils/utils.py @@ -39,6 +39,9 @@ import qutebrowser from qutebrowser.utils import qtutils, log +_UNSET = object() + + def elide(text, length): """Elide text so it uses a maximum of length chars.""" if length < 1: @@ -580,9 +583,19 @@ def is_enum(obj): return False -def get_object(name): - """Helper function to get an object.""" - return QCoreApplication.instance().registry[name] +def get_object(name, default=_UNSET): + """Helper function to get an object. + + Args: + default: A default to return if the object does not exist. + """ + try: + return QCoreApplication.instance().registry[name] + except KeyError: + if default is not _UNSET: + return default + else: + raise def register_object(name, obj, update=False):