[Repoze-checkins] r1238 - repoze.bfg/trunk/repoze/bfg/sampleapp

Chris McDonough chrism at agendaless.com
Mon Jul 7 01:15:40 EDT 2008


Author: Chris McDonough <chrism at agendaless.com>
Date: Mon Jul  7 01:15:40 2008
New Revision: 1238

Log:
DRY.


Modified:
   repoze.bfg/trunk/repoze/bfg/sampleapp/app.py

Modified: repoze.bfg/trunk/repoze/bfg/sampleapp/app.py
==============================================================================
--- repoze.bfg/trunk/repoze/bfg/sampleapp/app.py	(original)
+++ repoze.bfg/trunk/repoze/bfg/sampleapp/app.py	Mon Jul  7 01:15:40 2008
@@ -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 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 @@
         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 @@
     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')


More information about the Repoze-checkins mailing list