# -*- coding: utf-8 -*- ############################################################################## # # Copyright (c) 2008-2009, Gustavo Narea # All Rights Reserved. # # This software is subject to the provisions of the BSD-like license at # http://www.repoze.org/LICENSE.txt. A copy of the license should accompany # this distribution. THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL # EXPRESS OR IMPLIED WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, # THE IMPLIED WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND # FITNESS FOR A PARTICULAR PURPOSE. # ############################################################################## """ Utilities to restrict access based on predicates. .. deprecated:: 1.0.4 This module won't be available in :mod:`repoze.what` v2. See :meth:`repoze.what.predicates.Predicate.check_authorization`. """ from warnings import warn # We import the predicates just to make repoze.what backwards compatible # with tg.ext.repoze.who, but they are actually useless here: from repoze.what.predicates import * def check_authorization(predicate, environ): """ Verify if the current user really can access the requested source. :param predicate: The predicate to be evaluated. :param environ: The WSGI environment. :raise NotAuthorizedError: If it the predicate is not met. .. deprecated:: 1.0.4 Use :meth:`repoze.what.predicates.Predicate.check_authorization` instead. .. versionchanged:: 1.0.4 :class:`repoze.what.predicates.PredicateError` used to be the exception raised. """ msg = 'repoze.what.authorize is deprecated for forward compatibility '\ 'with repoze.what v2; use ' \ 'Predicate.check_authorization(environ) instead' warn(msg, DeprecationWarning, stacklevel=2) if predicate is not None: predicate.check_authorization(environ)