summaryrefslogtreecommitdiff
path: root/repoze/bfg/sampleapp
diff options
context:
space:
mode:
authorChris McDonough <chrism@agendaless.com>2008-07-08 04:37:07 +0000
committerChris McDonough <chrism@agendaless.com>2008-07-08 04:37:07 +0000
commit4bf7723f67b49cb14f0d82511a924adc1147505c (patch)
treecd60d3acdb8deca1cbc40b984dbadedb71ccafc3 /repoze/bfg/sampleapp
parent703422d397607eefb5fe695c657e5b59991ed9c1 (diff)
downloadpyramid-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.py25
-rw-r--r--repoze/bfg/sampleapp/configure.zcml35
-rw-r--r--repoze/bfg/sampleapp/www/blog_view.pt7
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>