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
3import pyramid.httpexceptions as exc
4from pyramid.response import Response
5from pyramid.view import view_config, view_defaults
6from pyramid.httpexceptions import HTTPFound
7from marshall_webapp.templates.responses import templates_resource_stats
8from marshall_webapp.models.stats import models_stats_get
9# from marshall_webapp.models.stats import models_stats_put
10# from marshall_webapp.models.stats import models_stats_delete
11# from marshall_webapp.models.stats import models_stats_push
13from dryxPyramid.views.views_base_element import base_element_view
14from venusian import lift
16@view_defaults(route_name='stats_element', permission="view_users")
17@lift()
18class views_resources_stats_element(base_element_view):
20 def __init__(self, request):
21 super().__init__(request)
22 self.resourceName = "stats"
24 @view_config(request_method='GET', permission="view_users")
25 @view_config(request_param="method=get", permission="view_users")
26 def get(self):
27 stats = templates_resource_stats(
28 log=self.log,
29 request=self.request,
30 elementId=self.request.matchdict["elementId"]
31 )
32 responseContent = stats.get()
33 return Response(responseContent)
35 @view_config(request_method='GET', request_param="format=json", renderer="json", permission="view_users")
36 @view_config(request_param=["method=get", "format=json"], renderer="json", permission="view_users")
37 def get_json(self):
38 stats = models_stats_get(
39 log=self.log,
40 request=self.request,
41 elementId=self.request.matchdict["elementId"]
42 )
43 return stats.get()
45 @view_config(request_method='GET', request_param="format=csv", renderer="csv", permission="view_users")
46 @view_config(request_param=["method=get", "format=csv"], renderer="csv", permission="view_users")
47 def get_csv(self):
48 stats = models_stats_get(
49 log=self.log,
50 request=self.request,
51 elementId=self.request.matchdict["elementId"]
52 )
53 return stats.get()
55 @view_config(request_method='GET', request_param="format=plain_table", renderer="plain_table", permission="view_users")
56 @view_config(request_param=["method=get", "format=plain_table"], renderer="plain_table", permission="view_users")
57 def get_plain_table(self):
58 stats = models_stats_get(
59 log=self.log,
60 request=self.request,
61 elementId=self.request.matchdict["elementId"]
62 )
63 return stats.get()