# HG changeset patch # User Thierry Florac # Date 1478604191 -3600 # Node ID 0b859bda300e9fa2e67d603e81bdc7b117cb9ff7 # Parent 7f90df24ceca2f404c4f58c70618a069f081e203 Handle POSError in 'query_utility' registry function diff -r 7f90df24ceca -r 0b859bda300e src/pyams_utils/registry.py --- a/src/pyams_utils/registry.py Tue Nov 08 12:22:05 2016 +0100 +++ b/src/pyams_utils/registry.py Tue Nov 08 12:23:11 2016 +0100 @@ -28,6 +28,7 @@ # import packages from pyramid.events import subscriber from pyramid.threadlocal import manager +from ZODB.POSException import POSError from zope.interface import implementedBy, providedBy @@ -86,10 +87,13 @@ def query_utility(provided, name='', default=None): """Query utility registered with given interface""" - for registry in get_registries(): - utility = registry.queryUtility(provided, name, default) - if utility is not None: - return utility + try: + for registry in get_registries(): + utility = registry.queryUtility(provided, name, default) + if utility is not None: + return utility + except POSError: + pass return default