diff options
| author | Chris McDonough <chrism@agendaless.com> | 2008-07-08 04:37:07 +0000 |
|---|---|---|
| committer | Chris McDonough <chrism@agendaless.com> | 2008-07-08 04:37:07 +0000 |
| commit | 4bf7723f67b49cb14f0d82511a924adc1147505c (patch) | |
| tree | cd60d3acdb8deca1cbc40b984dbadedb71ccafc3 /repoze/bfg/sampleapp | |
| parent | 703422d397607eefb5fe695c657e5b59991ed9c1 (diff) | |
| download | pyramid-4bf7723f67b49cb14f0d82511a924adc1147505c.tar.gz pyramid-4bf7723f67b49cb14f0d82511a924adc1147505c.tar.bz2 pyramid-4bf7723f67b49cb14f0d82511a924adc1147505c.zip | |
Add a browser:page directive type and make our sample app use it.
Diffstat (limited to 'repoze/bfg/sampleapp')
| -rw-r--r-- | repoze/bfg/sampleapp/app.py | 25 | ||||
| -rw-r--r-- | repoze/bfg/sampleapp/configure.zcml | 35 | ||||
| -rw-r--r-- | repoze/bfg/sampleapp/www/blog_view.pt | 7 |
3 files changed, 33 insertions, 34 deletions
diff --git a/repoze/bfg/sampleapp/app.py b/repoze/bfg/sampleapp/app.py index db66cbcf8..10b43d384 100644 --- a/repoze/bfg/sampleapp/app.py +++ b/repoze/bfg/sampleapp/app.py @@ -1,32 +1,21 @@ -from zope.interface import classProvides -from zope.interface import implements - -from repoze.bfg.interfaces import IViewFactory -from repoze.bfg.interfaces import IView +from repoze.bfg.template import View from webob import Response -class View(object): - classProvides(IViewFactory) - implements(IView) - - def __init__(self, context, request): - self.context = context - self.request = request - class BlogDefaultView(View): - def __call__(self): - return Response('Hello world from the blog %s!' % self.context.id) + def getInfo(self): + return {'greeting':'Hello, I\'m the default view', + 'id':self.context.id} class BlogWooHooView(View): - def __call__(self): - return Response('Woo hoo from the blog named %s!' % self.context.id) + def getInfo(self): + return {'greeting':'Woo hoo, I\'m another view' , + 'id':self.context.id} class DefaultView(View): def __call__(self): return Response('Default page, context is %s' % self.context) - if __name__ == '__main__': from repoze.bfg import sampleapp from repoze.bfg.sampleapp.models import BlogModel diff --git a/repoze/bfg/sampleapp/configure.zcml b/repoze/bfg/sampleapp/configure.zcml index 58399f241..cddefc172 100644 --- a/repoze/bfg/sampleapp/configure.zcml +++ b/repoze/bfg/sampleapp/configure.zcml @@ -1,25 +1,28 @@ <configure xmlns="http://namespaces.zope.org/zope" + xmlns:browser="http://namespaces.repoze.org/browser" i18n_domain="repoze.bfg"> <include package="repoze.bfg" /> - <adapter - factory=".app.BlogDefaultView" - provides="repoze.bfg.interfaces.IViewFactory" - for=".models.IBlogModel repoze.bfg.interfaces.IRequest" - /> + <browser:page + for=".models.IBlogModel" + class=".app.BlogWooHooView" + permission="repoze.view" + name="woohoo.html" + template="www/blog_view.pt" + /> - <adapter - factory=".app.BlogWooHooView" - provides="repoze.bfg.interfaces.IViewFactory" - for=".models.IBlogModel repoze.bfg.interfaces.IRequest" - name="woohoo.html" - /> + <browser:page + for=".models.IBlogModel" + class=".app.BlogDefaultView" + permission="repoze.view" + template="www/blog_view.pt" + /> - <adapter - factory=".app.DefaultView" - provides="repoze.bfg.interfaces.IViewFactory" - for="* repoze.bfg.interfaces.IRequest" - /> + <browser:page + for="*" + class=".app.DefaultView" + permission="repoze.view" + /> </configure> diff --git a/repoze/bfg/sampleapp/www/blog_view.pt b/repoze/bfg/sampleapp/www/blog_view.pt new file mode 100644 index 000000000..e936e0a3d --- /dev/null +++ b/repoze/bfg/sampleapp/www/blog_view.pt @@ -0,0 +1,7 @@ +<div xmlns="http://www.w3.org/1999/xhtml" + xmlns:tal="http://xml.zope.org/namespaces/tal"> + <div tal:define="info view.getInfo()"> + <span tal:content="info.greeting"/> from + <span tal:content="info.id"/> + </div> +</div> |
