summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris McDonough <chrism@agendaless.com>2008-07-07 05:15:40 +0000
committerChris McDonough <chrism@agendaless.com>2008-07-07 05:15:40 +0000
commit54dc66f7177403a604f74544d1cb4f2f44ab7eaa (patch)
treeca83406e515c309f166dae3a12ca303fc5827870
parent8251b8af234bfa172316d19350309728d89473e1 (diff)
downloadpyramid-54dc66f7177403a604f74544d1cb4f2f44ab7eaa.tar.gz
pyramid-54dc66f7177403a604f74544d1cb4f2f44ab7eaa.tar.bz2
pyramid-54dc66f7177403a604f74544d1cb4f2f44ab7eaa.zip
DRY.
-rw-r--r--repoze/bfg/sampleapp/app.py26
1 files 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')