Source code for scrolls.views.home

from pyramid.view import view_config, view_defaults
from scrolls.views.protected import ProtectedView
from pyramid.httpexceptions import HTTPNotFound


@view_defaults(request_method='GET', renderer='messages.jinja2')
[docs]class HomeView(ProtectedView): def __init__(self, request): super(HomeView, self).__init__(request) self.messages = request.dependencies.getMessageRepository() self.stats = request.dependencies.getStatisticRepository() self.count = request.dependencies.getCounterFactory() @view_config(context='scrolls.models.root.Root')
[docs] def get_root(self): filter = self.request.context.getFilter() return { 'messages': self.messages.getLatest(filter), 'filter': filter, 'hostnames': self.stats.get('hostname'), 'apps': self.stats.get('app') }
@view_config(context='scrolls.models.filter.Filter')
[docs] def get_filter(self): if self.request.context.resolvable is False: raise HTTPNotFound() return self.get_root()
@view_config(context='scrolls.models.message.Message', renderer='message.jinja2')
[docs] def get_message(self): return {'message': self.request.context}