pyramid_cubicweb/rest_api.py
author Rabah Meradi <rabah.meradi@logilab.fr>
Fri, 24 Jul 2015 13:39:18 +0200
changeset 11600 473754eac7c1
parent 11599 f8ba6ea94af9
child 11601 23a62d151382
permissions -rw-r--r--
[refactoring] Move MatchIsETypePredicate to a separate module

from __future__ import absolute_import


from pyramid.httpexceptions import HTTPNotFound
from pyramid.view import view_config
from pyramid_cubicweb.resources import EntityResource, ETypeResource
from pyramid_cubicweb.predicates import MatchIsETypePredicate


@view_config(
    route_name='cwentities',
    context=EntityResource,
    request_method='DELETE')
def delete_entity(context, request):
    context.rset.one().cw_delete()
    request.response.status_int = 204
    return request.response


def includeme(config):
    config.add_route_predicate('match_is_etype', MatchIsETypePredicate)
    config.add_route(
        'cwentities', '/{etype}/*traverse',
        factory=ETypeResource.from_match('etype'), match_is_etype='etype')
    config.scan(__name__)