summaryrefslogtreecommitdiff
path: root/repoze/bfg/sampleapp
diff options
context:
space:
mode:
authorChris McDonough <chrism@agendaless.com>2008-08-24 01:59:07 +0000
committerChris McDonough <chrism@agendaless.com>2008-08-24 01:59:07 +0000
commit0a6da3800b963b2104c8e10598ac7589a81f981e (patch)
treea462056f22bcff3f08d82cec98682e1dfac7df5c /repoze/bfg/sampleapp
parent2c647036d9ed5e5a27cb6b2a5700a8f0d3a7d2a7 (diff)
downloadpyramid-0a6da3800b963b2104c8e10598ac7589a81f981e.tar.gz
pyramid-0a6da3800b963b2104c8e10598ac7589a81f981e.tar.bz2
pyramid-0a6da3800b963b2104c8e10598ac7589a81f981e.zip
- Remove ``sampleapp`` sample application from bfg package itself.
- Remove dependency on FormEncode (only needed by sampleapp). - Fix paster template generation so that case-sensitivity is preserved for project vs. package name. - Depend on ``z3c.pt`` version 1.0a1 (which requires the ``[lxml]`` extra currently).
Diffstat (limited to 'repoze/bfg/sampleapp')
-rw-r--r--repoze/bfg/sampleapp/__init__.py1
-rw-r--r--repoze/bfg/sampleapp/configure.zcml54
-rw-r--r--repoze/bfg/sampleapp/listeners.py6
-rw-r--r--repoze/bfg/sampleapp/models.py42
-rw-r--r--repoze/bfg/sampleapp/run.py11
-rw-r--r--repoze/bfg/sampleapp/templates/blog.pt22
-rw-r--r--repoze/bfg/sampleapp/templates/blog_entry.pt12
-rw-r--r--repoze/bfg/sampleapp/templates/blog_entry_add.pt29
-rw-r--r--repoze/bfg/sampleapp/templates/contents.pt6
-rw-r--r--repoze/bfg/sampleapp/views.py79
10 files changed, 0 insertions, 262 deletions
diff --git a/repoze/bfg/sampleapp/__init__.py b/repoze/bfg/sampleapp/__init__.py
deleted file mode 100644
index ef5fe8b12..000000000
--- a/repoze/bfg/sampleapp/__init__.py
+++ /dev/null
@@ -1 +0,0 @@
-# a package
diff --git a/repoze/bfg/sampleapp/configure.zcml b/repoze/bfg/sampleapp/configure.zcml
deleted file mode 100644
index a5f27595e..000000000
--- a/repoze/bfg/sampleapp/configure.zcml
+++ /dev/null
@@ -1,54 +0,0 @@
-<configure xmlns="http://namespaces.zope.org/zope"
- xmlns:bfg="http://namespaces.repoze.org/bfg"
- i18n_domain="repoze.bfg">
-
- <include package="repoze.bfg" />
-
- <utility
- provides="repoze.bfg.interfaces.ISecurityPolicy"
- factory="repoze.bfg.security.RemoteUserACLSecurityPolicy"
- />
-
- <!-- the default view for a Blog -->
- <bfg:view
- for=".models.IBlog"
- view=".views.blog_default_view"
- permission="view"
- />
-
- <!-- the default view for a BlogEntry -->
- <bfg:view
- for=".models.IBlogEntry"
- view=".views.blog_entry_default_view"
- permission="view"
- />
-
- <!-- the add view for a BlogEntry -->
- <bfg:view
- for=".models.IBlog"
- view=".views.blog_entry_add_view"
- name="add_entry.html"
- permission="add"
- />
-
- <!-- the contents view for any mapping (shows dict members) -->
- <bfg:view
- for=".models.IMapping"
- view=".views.contents_view"
- name="contents.html"
- permission="manage"
- />
-
- <!-- event listener for a new request -->
- <subscriber
- for="repoze.bfg.interfaces.INewRequest"
- handler=".listeners.handle_new_request"
- />
-
- <!-- event listener for a new response -->
- <subscriber
- for="repoze.bfg.interfaces.INewResponse"
- handler=".listeners.handle_new_response"
- />
-
-</configure>
diff --git a/repoze/bfg/sampleapp/listeners.py b/repoze/bfg/sampleapp/listeners.py
deleted file mode 100644
index 7c80d314f..000000000
--- a/repoze/bfg/sampleapp/listeners.py
+++ /dev/null
@@ -1,6 +0,0 @@
-def handle_new_request(event):
- assert(hasattr(event, 'request'))
-
-def handle_new_response(event):
- assert(hasattr(event, 'response'))
-
diff --git a/repoze/bfg/sampleapp/models.py b/repoze/bfg/sampleapp/models.py
deleted file mode 100644
index 7da6f1033..000000000
--- a/repoze/bfg/sampleapp/models.py
+++ /dev/null
@@ -1,42 +0,0 @@
-from zope.interface import Interface
-from zope.interface import implements
-from zope.location.interfaces import ILocation
-from zope.location.location import Location
-
-from repoze.bfg.security import Everyone
-from repoze.bfg.security import Allow
-
-import datetime
-
-class IMapping(Interface):
- pass
-
-class IBlog(Interface):
- pass
-
-class Blog(dict, Location):
- __acl__ = [
- (Allow, Everyone, 'view'),
- (Allow, 'group:editors', 'add'),
- (Allow, 'group:editors', 'edit'),
- ]
- implements(IBlog, IMapping, ILocation)
-
-class IBlogEntry(Interface):
- pass
-
-class BlogEntry(object):
- implements(IBlogEntry)
- def __init__(self, title, body, author):
- self.title = title
- self.body = body
- self.author = author
- self.created = datetime.datetime.now()
-
-blog = Blog()
-blog['sample'] = BlogEntry('Sample Blog Entry',
- '<p>This is a sample blog entry</p>',
- 'chrism')
-def get_root(environ):
- return blog
-
diff --git a/repoze/bfg/sampleapp/run.py b/repoze/bfg/sampleapp/run.py
deleted file mode 100644
index df2ceca39..000000000
--- a/repoze/bfg/sampleapp/run.py
+++ /dev/null
@@ -1,11 +0,0 @@
-from repoze.bfg import make_app
-from repoze.bfg import sampleapp
-from repoze.bfg.sampleapp.models import get_root
-
-def main():
- app = make_app(get_root, sampleapp, options={'reload_templates':True})
- from paste import httpserver
- httpserver.serve(app, host='0.0.0.0', port='5432')
-
-if __name__ == '__main__':
- main()
diff --git a/repoze/bfg/sampleapp/templates/blog.pt b/repoze/bfg/sampleapp/templates/blog.pt
deleted file mode 100644
index b428374fc..000000000
--- a/repoze/bfg/sampleapp/templates/blog.pt
+++ /dev/null
@@ -1,22 +0,0 @@
-<html xmlns="http://www.w3.org/1999/xhtml"
- xmlns:tal="http://xml.zope.org/namespaces/tal">
-<head></head>
-<body>
- <h1 tal:content="name">Blog Name</h1>
- <table border="0">
- <thead>
- <th>Title</th>
- <th>Author</th>
- <th>Created</th>
- </thead>
- <tr tal:repeat="entry entries">
- <td><a href="${entry.name}/">${entry.title}</a></td>
- <td>${entry.author}</td>
- <td>${entry.created}</td>
- </tr>
- </table>
- <p tal:condition="can_add">
- <a href="add_entry.html">Add blog entry</a>
- </p>
-</body>
-</html>
diff --git a/repoze/bfg/sampleapp/templates/blog_entry.pt b/repoze/bfg/sampleapp/templates/blog_entry.pt
deleted file mode 100644
index 6614e4950..000000000
--- a/repoze/bfg/sampleapp/templates/blog_entry.pt
+++ /dev/null
@@ -1,12 +0,0 @@
-<html xmlns="http://www.w3.org/1999/xhtml"
- xmlns:tal="http://xml.zope.org/namespaces/tal">
-<head></head>
-<body>
- <div>
- <p><a href="..">Up</a></p>
- <h1>${title}</h1>
- <p>by ${author}</p>
- <div tal:content="structure body"></div>
- </div>
-</body>
-</html>
diff --git a/repoze/bfg/sampleapp/templates/blog_entry_add.pt b/repoze/bfg/sampleapp/templates/blog_entry_add.pt
deleted file mode 100644
index f06042c03..000000000
--- a/repoze/bfg/sampleapp/templates/blog_entry_add.pt
+++ /dev/null
@@ -1,29 +0,0 @@
-<html xmlns="http://www.w3.org/1999/xhtml"
- xmlns:tal="http://xml.zope.org/namespaces/tal">
-<head>
-</head>
-<body>
- <form action="${request.path_url}" method="POST">
- <h2 tal:condition="message" tal:content="message"></h2>
- <h1>Add a blog entry</h1>
- <table border="0">
- <tr>
- <th>Title</th>
- <td><input type="text" name="title" tal:attributes="value title"/></td>
- </tr>
- <tr>
- <th>Author</th>
- <td><input type="text" name="author" tal:attributes="value author"/></td>
- </tr>
- <tr>
- <th>Body</th>
- <td><textarea name="body" rows="10" cols="80" tal:content="body"
- ></textarea></td>
- </tr>
- <tr>
- <td><input type="submit" name="form.submitted" value="Add"/></td>
- </tr>
- </table>
- </form>
-</body>
-</html>
diff --git a/repoze/bfg/sampleapp/templates/contents.pt b/repoze/bfg/sampleapp/templates/contents.pt
deleted file mode 100644
index eaae20ed5..000000000
--- a/repoze/bfg/sampleapp/templates/contents.pt
+++ /dev/null
@@ -1,6 +0,0 @@
-<div xmlns="http://www.w3.org/1999/xhtml"
- xmlns:tal="http://xml.zope.org/namespaces/tal">
- <div tal:repeat="name context">
- <a href="${name}/">${name}</a>
- </div>
-</div>
diff --git a/repoze/bfg/sampleapp/views.py b/repoze/bfg/sampleapp/views.py
deleted file mode 100644
index 0f536f09f..000000000
--- a/repoze/bfg/sampleapp/views.py
+++ /dev/null
@@ -1,79 +0,0 @@
-import formencode
-import time
-
-from webob.exc import HTTPFound
-
-from repoze.bfg.template import render_template_to_response
-from repoze.bfg.sampleapp.models import BlogEntry
-from repoze.bfg.security import has_permission
-
-def datestring(dt):
- return dt.strftime('%Y-%m-%d %H:%M:%S')
-
-def blog_default_view(context, request):
- entrydata = []
-
- can_add = False
- if has_permission('add', context, request):
- can_add = True
- for name, entry in context.items():
- entrydata.append(
- {
- 'name':name,
- 'title':entry.title,
- 'author':entry.author,
- 'created':datestring(entry.created),
- 'message':request.params.get('message'),
- }
- )
-
- return render_template_to_response('templates/blog.pt',
- name=context.__name__,
- entries=entrydata,
- can_add=can_add)
-
-def blog_entry_default_view(context, request):
- info = {
- 'name':context.__name__,
- 'title':context.title,
- 'body':context.body,
- 'author':context.author,
- 'created':datestring(context.created),
- }
- return render_template_to_response('templates/blog_entry.pt', **info)
-
-class BlogAddSchema(formencode.Schema):
- allow_extra_fields = True
- author = formencode.validators.NotEmpty()
- body = formencode.validators.NotEmpty()
- title = formencode.validators.NotEmpty()
-
-def blog_entry_add_view(context, request):
- params = request.params
-
- message = None
-
- author = params.get('author', '')
- body = params.get('body', '')
- title = params.get('title', '')
- info = dict(request=request, author=author, body=body, title=title,
- message=None)
-
- if params.has_key('form.submitted'):
- schema = BlogAddSchema()
- try:
- form = schema.to_python(params)
- except formencode.validators.Invalid, why:
- message = str(why)
- info['message'] = message
- else:
- author, body, title = form['author'], form['body'], form['title']
- new_entry = BlogEntry(title, body, author)
- name = str(time.time())
- context[name] = new_entry
- return HTTPFound(location='/')
-
- return render_template_to_response('templates/blog_entry_add.pt', **info)
-
-def contents_view(context, request):
- return render_template_to_response('templates/contents.pt', context=context)