def test_view_route_global_view(self): view.registerRoute('test-route', '/test/', use_global_views=True) self._init_memphis() request_iface = config.registry.getUtility( IRouteRequest, name='test-route') self.assertTrue(request_iface.isOrExtends(IRequest))
def test_view_route(self): view.registerRoute('test-route', '/test/') self._init_memphis() request_iface = config.registry.getUtility( IRouteRequest, name='test-route') self.assertIsNotNone(request_iface)
def test_view_for_route(self): view.registerRoute('test-route', '/test/') @view.pyramidView(route='test-route') def render(request): return '<html>Route view</html>' self._init_memphis() request_iface = config.registry.getUtility( IRouteRequest, name='test-route') interface.directlyProvides(self.request, request_iface) v = self._view('', None, self.request) self.assertEqual(v.body, '<html>Route view</html>')
# tartaroo from memphis import view import app view.registerRoute( 'devpoll-poll-view', '/polls/{id}/', app.pollAppFactory) view.registerRoute( 'devpoll-application', '/polls/*traverse', app.pollAppFactory, use_global_views = True)
def test_view_route_conflict(self): view.registerRoute('test-route', '/test/') view.registerRoute('test-route', '/test2/') self.assertRaises(config.ConflictError, self._init_memphis)
""" This is an example of running Ptah in 1 module. """ import cgi from paste.httpserver import serve from memphis import view import ptah_cms view.registerRoute('show_models', '/show_models') @view.pyramidView(route='show_models') def show_models(request): models = ptah_cms.Session.query(ptah_cms.Content).all() return cgi.escape(str(models)) @view.pyramidView('show_info', context=ptah_cms.Content) def show_info(context, request): return cgi.escape(str(context.info())) @view.pyramidView('list_children', context=ptah_cms.Container) def list_children(context, request): out = [] for name, child in context.items(): if isinstance(child, ptah_cms.Container): href = '<a href="%slist_children">%s</a>' #XXX extra /? href = href % (request.resource_url(child), child.title) else: href = '<a href="%sshow_info">%s</a>' href = href % (request.resource_url(child), child.title) out.append(href) return '<br />'.join(out)