summaryrefslogtreecommitdiff
path: root/repoze/bfg/sampleapp
diff options
context:
space:
mode:
authorChris McDonough <chrism@agendaless.com>2008-07-07 05:07:09 +0000
committerChris McDonough <chrism@agendaless.com>2008-07-07 05:07:09 +0000
commit8251b8af234bfa172316d19350309728d89473e1 (patch)
tree2eec8a409d50ee3997312d17a4536e8ffeab754b /repoze/bfg/sampleapp
parent7de404bb4af2744a64c13e31a780fc0229b8f9e5 (diff)
downloadpyramid-8251b8af234bfa172316d19350309728d89473e1.tar.gz
pyramid-8251b8af234bfa172316d19350309728d89473e1.tar.bz2
pyramid-8251b8af234bfa172316d19350309728d89473e1.zip
Add a sample app.
Diffstat (limited to 'repoze/bfg/sampleapp')
-rw-r--r--repoze/bfg/sampleapp/__init__.py1
-rw-r--r--repoze/bfg/sampleapp/app.py52
2 files changed, 53 insertions, 0 deletions
diff --git a/repoze/bfg/sampleapp/__init__.py b/repoze/bfg/sampleapp/__init__.py
new file mode 100644
index 000000000..ef5fe8b12
--- /dev/null
+++ b/repoze/bfg/sampleapp/__init__.py
@@ -0,0 +1 @@
+# a package
diff --git a/repoze/bfg/sampleapp/app.py b/repoze/bfg/sampleapp/app.py
new file mode 100644
index 000000000..dbc77d501
--- /dev/null
+++ b/repoze/bfg/sampleapp/app.py
@@ -0,0 +1,52 @@
+from zope.interface import classProvides
+from zope.interface import implements
+from zope.interface import Interface
+
+from repoze.bfg.interfaces import IViewFactory
+from repoze.bfg.interfaces import IView
+
+from webob import Response
+
+class IBlogModel(Interface):
+ pass
+
+class BlogModel:
+ implements(IBlogModel)
+
+class BlogDefaultView(object):
+ classProvides(IViewFactory)
+ implements(IView)
+
+ def __init__(self, context, request):
+ self.context = context
+ self.request = request
+
+ def __call__(self):
+ return Response('Hello world!')
+
+class BlogWooHooView(object):
+ classProvides(IViewFactory)
+ implements(IView)
+
+ def __init__(self, context, request):
+ self.context = context
+ self.request = request
+
+ def __call__(self):
+ return Response('Woo hoo!')
+
+if __name__ == '__main__':
+ from repoze.bfg.interfaces import IViewFactory
+ from repoze.bfg.interfaces import IRequest
+ from zope.component import getGlobalSiteManager
+ gsm = getGlobalSiteManager()
+ gsm.registerAdapter(BlogDefaultView, (IBlogModel, IRequest), IViewFactory)
+ gsm.registerAdapter(BlogWooHooView, (IBlogModel, IRequest), IViewFactory,
+ name='woohoo.html')
+ from repoze.bfg.router import make_app
+ def get_root(environ):
+ return {'blog':BlogModel()}
+ app = make_app(get_root)
+ from paste import httpserver
+ httpserver.serve(app, host='0.0.0.0', port='5432')
+