Hide keyboard shortcuts

Hot-keys on this page

r m x p   toggle line displays

j k   next/prev highlighted chunk

0   (zero) top of page

1   (one) first highlighted chunk

1from builtins import object 

2import logging 

3from pyramid.httpexceptions import HTTPFound 

4from pyramid.response import Response 

5from pyramid.view import view_config, view_defaults 

6 

7 

8@view_defaults(route_name='base_view', permission="view_users") 

9class base_view(object): 

10 """*The base view that can be used for any API resource* 

11 """ 

12 

13 def __init__(self, request): 

14 self.request = request 

15 self.log = logging.getLogger(__name__) 

16 self.resourceName = "baseview" 

17 

18 @view_config(request_method='DELETE', permission="edit_users") 

19 @view_config(request_param="method=delete", permission="edit_users") 

20 def delete(self): 

21 import pyramid.httpexceptions as exc 

22 resourceName = self.resourceName 

23 return exc.exception_response(404, body_template="The DELETE method is not enabled on the '%(resourceName)s' resource" % locals()) 

24 

25 @view_config(request_method='PUT', permission="edit_users") 

26 @view_config(request_param="method=put", permission="edit_users") 

27 def put(self): 

28 import pyramid.httpexceptions as exc 

29 resourceName = self.resourceName 

30 return exc.exception_response(404, body_template="The PUT method is not enabled on the '%(resourceName)s' resource" % locals()) 

31 

32 @view_config(request_method='POST', permission="edit_users") 

33 @view_config(request_param="method=post", permission="edit_users") 

34 def post(self): 

35 import pyramid.httpexceptions as exc 

36 resourceName = self.resourceName 

37 return exc.exception_response(404, body_template="The POST is not allowed on the '%(resourceName)s' resource" % locals()) 

38 

39 @view_config(request_method='GET', permission="view_users") 

40 @view_config(request_param="method=get", permission="view_users") 

41 def get(self): 

42 import pyramid.httpexceptions as exc 

43 resourceName = self.resourceName 

44 return exc.exception_response(404, body_template="The GET method is not enabled to return JSON on the '%(resourceName)s' resource" % locals()) 

45 

46 @view_config(request_method='GET', request_param="format=json", renderer="json", permission="view_users") 

47 @view_config(request_param=["method=get", "format=json"], renderer="json", permission="view_users") 

48 def get_json(self): 

49 import pyramid.httpexceptions as exc 

50 resourceName = self.resourceName 

51 return exc.exception_response(404, body_template="The GET method is not enabled to return JSON on the '%(resourceName)s' resource" % locals()) 

52 

53 @view_config(request_method='GET', request_param="format=csv", renderer="csv", permission="view_users") 

54 @view_config(request_param=["method=get", "format=csv"], renderer="csv", permission="view_users") 

55 def get_csv(self): 

56 import pyramid.httpexceptions as exc 

57 resourceName = self.resourceName 

58 return exc.exception_response(404, body_template="The GET method is not enabled to return CSV on the '%(resourceName)s' resource" % locals()) 

59 

60 @view_config(request_method='GET', request_param="format=plain_table", renderer="plain_table", permission="view_users") 

61 @view_config(request_param=["method=get", "format=plain_table"], renderer="plain_table", permission="view_users") 

62 def get_plain_table(self): 

63 import pyramid.httpexceptions as exc 

64 resourceName = self.resourceName 

65 return exc.exception_response(404, body_template="The GET method is not enabled to return ascii tables on the '%(resourceName)s' resource" % locals()) 

66 

67 @view_config(request_method='GET', request_param="format=html") 

68 @view_config(request_param=["method=get", "format=html"]) 

69 def get_html(self): 

70 import pyramid.httpexceptions as exc 

71 resourceName = self.resourceName 

72 return exc.exception_response(404, body_template="The GET method is not enabled to return HTML on the '%(resourceName)s' resource" % locals())