def find(l, predicate): results = [x for x in l if predicate(x)] return results[0] if len(results) > 0 else None def index(l, predicate): i = 0 while i' % (str(self.__class__).split('.')[-1][:-2], self.message) def __str__(self): return 'Error: %s' % self.message class MarkedError(Error): def __init__(self, message, mark): super(MarkedError, self).__init__(message) self.mark = mark def __repr__(self): return '<%s "%s" at %s>' % (str(self.__class__).split('.')[-1][:-2], self.message, self.mark) def __str__(self): return self.message + (" (source '%s' line %d column %d)" % (self.mark.source, self.mark.line, self.mark.column)) class Inspection(object): def inspect(openstack): pass