From 54dc66f7177403a604f74544d1cb4f2f44ab7eaa Mon Sep 17 00:00:00 2001 From: Chris McDonough Date: Mon, 7 Jul 2008 05:15:40 +0000 Subject: DRY. --- repoze/bfg/sampleapp/app.py | 26 ++++++++++++++------------ 1 file changed, 14 insertions(+), 12 deletions(-) diff --git a/repoze/bfg/sampleapp/app.py b/repoze/bfg/sampleapp/app.py index dbc77d501..c91c0eaf8 100644 --- a/repoze/bfg/sampleapp/app.py +++ b/repoze/bfg/sampleapp/app.py @@ -1,6 +1,7 @@ from zope.interface import classProvides from zope.interface import implements from zope.interface import Interface +from zope.interface import Attribute from repoze.bfg.interfaces import IViewFactory from repoze.bfg.interfaces import IView @@ -8,12 +9,14 @@ from repoze.bfg.interfaces import IView from webob import Response class IBlogModel(Interface): - pass + id = Attribute('id') class BlogModel: implements(IBlogModel) + def __init__(self, id): + self.id = id -class BlogDefaultView(object): +class View(object): classProvides(IViewFactory) implements(IView) @@ -21,19 +24,17 @@ class BlogDefaultView(object): self.context = context self.request = request +class BlogDefaultView(View): def __call__(self): - return Response('Hello world!') + return Response('Hello world from the blog %s!' % self.context.id) -class BlogWooHooView(object): - classProvides(IViewFactory) - implements(IView) - - def __init__(self, context, request): - self.context = context - self.request = request +class BlogWooHooView(View): + def __call__(self): + return Response('Woo hoo from the blog named %s!' % self.context.id) +class DefaultView(View): def __call__(self): - return Response('Woo hoo!') + return Response('Default page, context is %s' % self.context) if __name__ == '__main__': from repoze.bfg.interfaces import IViewFactory @@ -43,9 +44,10 @@ if __name__ == '__main__': gsm.registerAdapter(BlogDefaultView, (IBlogModel, IRequest), IViewFactory) gsm.registerAdapter(BlogWooHooView, (IBlogModel, IRequest), IViewFactory, name='woohoo.html') + gsm.registerAdapter(DefaultView, (None, IRequest), IViewFactory, '') from repoze.bfg.router import make_app def get_root(environ): - return {'blog':BlogModel()} + return {'blog':BlogModel('myblog')} app = make_app(get_root) from paste import httpserver httpserver.serve(app, host='0.0.0.0', port='5432') -- cgit v1.2.3