def requireAttrs(obj, *attributes):
 missing = [name for name in attributes if (not hasattr(obj, name))]
 return skipWithClientIf(missing, ("don't have " + ', '.join((name for name in missing))))

def requireAttrs ( obj , * attributes ) : missing = [ name for name in attributes if ( not hasattr ( obj , name ) ) ] return skipWithClientIf ( missing , ( "don't have " + ', ' . join ( ( name for name in missing ) ) ) )
skip decorated test if obj is missing any of the given attributes .