'Checks that it is possible to generate sensible GET queries for
a given rule (if the endpoint matches its own requirements)
:type rule: werkzeug.routing.Rule
:rtype: bool'

def rule_is_enumerable(self, rule):

    endpoint = rule.endpoint
    methods = (endpoint.routing.get('methods') or ['GET'])
    converters = rule._converters.values()
    if (not (('GET' in methods) and (endpoint.routing['type'] == 'http') and (endpoint.routing['auth'] in ('none', 'public')) and endpoint.routing.get('website', False) and all((hasattr(converter, 'generate') for converter in converters)) and endpoint.routing.get('website'))):
        return False
    spec = inspect.getargspec(endpoint.method.original_func)
    defaults_count = len((spec.defaults or []))
    args = spec.args[1:((- defaults_count) or None)]
    return all(((arg in rule._converters) for arg in args))
