All pastes #2101265 Raw Edit

Unnamed

public text v1 · immutable
#2101265 ·published 2012-01-08 20:00 UTC
rendered paste body
from pyramid.view import view_config
from pyramid.view import view_defaults
from pyramid.httpexceptions import HTTPNotImplemented

@view_defaults(route_name='base')
class BaseView(object):
    def __init__(self, request):
        self.request = request

    @view_config(request_method='POST')
    def post(self, request):
        raise HTTPNotImplemented

    @view_config(request_method='PUT')
    def put(self, request):
        raise HTTPNotImplemented

    @view_config(request_method='GET')
    def get(self, request):
        raise HTTPNotImplemented

    @view_config(request_method='DELETE')
    def delete(self, request):
        raise HTTPNotImplemented


@view_defaults(renderer='json')
class APIView(BaseView):
    pass


@view_defaults(route_name='element')
class APIElement(APIView):
    @view_config(request_method='POST')
    def post(self, request):
        # Do stuff with this request
        return {}