def filter_by_status(values_with_status, context=None, level=logbook.ERROR):
"""Filter a `list` of `(bool, value)` pairs on the `bool` value, warning on `False` values.
>>> filter_by_status([(True, 'foo'), (False, 'bar')])
['foo']
"""
values = list()
for (status, value_or_traceback) in values_with_status:
if not status:
logger.log(level, "[{!s}] failed to retrieve data:\n{!s}", context, value_or_traceback)
else:
values.append(value_or_traceback)
return values
评论列表
文章目录