def requires_login():

    def wrapper(f):
        @wraps(f)
        def wrapped(*args, **kwargs):
            if not get_user(args[0].request):
                raise HTTP_401("I can't let you do that")
            return f(*args, **kwargs)
        return wrapped
    return wrapper
Returns (troveName, version, flavor) lists of all of the troves on the
dataset/ETHPy150Open nullism/pycnic/examples/full-auth.py/requires_login--crossover with--dataset/ETHPy150Open sassoftware/conary/conary/repository/netclient.py/NetworkRepositoryClient.getTrovesBySource