diff options
| author | Chris McDonough <chrism@agendaless.com> | 2008-08-24 01:59:07 +0000 |
|---|---|---|
| committer | Chris McDonough <chrism@agendaless.com> | 2008-08-24 01:59:07 +0000 |
| commit | 0a6da3800b963b2104c8e10598ac7589a81f981e (patch) | |
| tree | a462056f22bcff3f08d82cec98682e1dfac7df5c /repoze/bfg/sampleapp | |
| parent | 2c647036d9ed5e5a27cb6b2a5700a8f0d3a7d2a7 (diff) | |
| download | pyramid-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__.py | 1 | ||||
| -rw-r--r-- | repoze/bfg/sampleapp/configure.zcml | 54 | ||||
| -rw-r--r-- | repoze/bfg/sampleapp/listeners.py | 6 | ||||
| -rw-r--r-- | repoze/bfg/sampleapp/models.py | 42 | ||||
| -rw-r--r-- | repoze/bfg/sampleapp/run.py | 11 | ||||
| -rw-r--r-- | repoze/bfg/sampleapp/templates/blog.pt | 22 | ||||
| -rw-r--r-- | repoze/bfg/sampleapp/templates/blog_entry.pt | 12 | ||||
| -rw-r--r-- | repoze/bfg/sampleapp/templates/blog_entry_add.pt | 29 | ||||
| -rw-r--r-- | repoze/bfg/sampleapp/templates/contents.pt | 6 | ||||
| -rw-r--r-- | repoze/bfg/sampleapp/views.py | 79 |
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) |
