From e53e13423685eac190676c4be32716c3a42603e4 Mon Sep 17 00:00:00 2001 From: Chris McDonough Date: Mon, 25 Oct 2010 17:40:43 -0400 Subject: rename bfgwiki to wiki --- docs/tutorials/wiki/src/authorization/CHANGES.txt | 5 + docs/tutorials/wiki/src/authorization/README.txt | 4 + docs/tutorials/wiki/src/authorization/setup.cfg | 28 ++ docs/tutorials/wiki/src/authorization/setup.py | 43 +++ docs/tutorials/wiki/src/authorization/tutorial.ini | 21 ++ .../wiki/src/authorization/tutorial/__init__.py | 2 + .../wiki/src/authorization/tutorial/configure.zcml | 25 ++ .../wiki/src/authorization/tutorial/login.py | 44 +++ .../wiki/src/authorization/tutorial/models.py | 27 ++ .../wiki/src/authorization/tutorial/run.py | 23 ++ .../wiki/src/authorization/tutorial/security.py | 8 + .../src/authorization/tutorial/templates/edit.pt | 34 ++ .../src/authorization/tutorial/templates/login.pt | 32 ++ .../authorization/tutorial/templates/mytemplate.pt | 99 ++++++ .../tutorial/templates/static/default.css | 380 +++++++++++++++++++++ .../tutorial/templates/static/images/img01.gif | Bin 0 -> 3840 bytes .../tutorial/templates/static/images/img02.gif | Bin 0 -> 4689 bytes .../tutorial/templates/static/images/img03.gif | Bin 0 -> 229 bytes .../tutorial/templates/static/images/img04.gif | Bin 0 -> 92 bytes .../tutorial/templates/static/images/spacer.gif | Bin 0 -> 43 bytes .../tutorial/templates/static/style.css | 109 ++++++ .../tutorial/templates/static/templatelicense.txt | 243 +++++++++++++ .../src/authorization/tutorial/templates/view.pt | 31 ++ .../wiki/src/authorization/tutorial/tests.py | 123 +++++++ .../wiki/src/authorization/tutorial/views.py | 76 +++++ docs/tutorials/wiki/src/basiclayout/CHANGES.txt | 4 + docs/tutorials/wiki/src/basiclayout/README.txt | 4 + docs/tutorials/wiki/src/basiclayout/setup.cfg | 28 ++ docs/tutorials/wiki/src/basiclayout/setup.py | 42 +++ docs/tutorials/wiki/src/basiclayout/tutorial.ini | 20 ++ .../wiki/src/basiclayout/tutorial/__init__.py | 2 + .../wiki/src/basiclayout/tutorial/configure.zcml | 17 + .../wiki/src/basiclayout/tutorial/models.py | 12 + .../tutorials/wiki/src/basiclayout/tutorial/run.py | 22 ++ .../basiclayout/tutorial/templates/mytemplate.pt | 99 ++++++ .../tutorial/templates/static/default.css | 380 +++++++++++++++++++++ .../tutorial/templates/static/images/img01.gif | Bin 0 -> 3840 bytes .../tutorial/templates/static/images/img02.gif | Bin 0 -> 4689 bytes .../tutorial/templates/static/images/img03.gif | Bin 0 -> 229 bytes .../tutorial/templates/static/images/img04.gif | Bin 0 -> 92 bytes .../tutorial/templates/static/images/spacer.gif | Bin 0 -> 43 bytes .../tutorial/templates/static/templatelicense.txt | 243 +++++++++++++ .../wiki/src/basiclayout/tutorial/tests.py | 19 ++ .../wiki/src/basiclayout/tutorial/views.py | 2 + docs/tutorials/wiki/src/models/CHANGES.txt | 4 + docs/tutorials/wiki/src/models/README.txt | 4 + docs/tutorials/wiki/src/models/setup.cfg | 28 ++ docs/tutorials/wiki/src/models/setup.py | 42 +++ docs/tutorials/wiki/src/models/tutorial.ini | 20 ++ .../tutorials/wiki/src/models/tutorial/__init__.py | 2 + .../wiki/src/models/tutorial/configure.zcml | 17 + docs/tutorials/wiki/src/models/tutorial/models.py | 22 ++ docs/tutorials/wiki/src/models/tutorial/run.py | 22 ++ .../src/models/tutorial/templates/mytemplate.pt | 99 ++++++ .../models/tutorial/templates/static/default.css | 380 +++++++++++++++++++++ .../tutorial/templates/static/images/img01.gif | Bin 0 -> 3840 bytes .../tutorial/templates/static/images/img02.gif | Bin 0 -> 4689 bytes .../tutorial/templates/static/images/img03.gif | Bin 0 -> 229 bytes .../tutorial/templates/static/images/img04.gif | Bin 0 -> 92 bytes .../tutorial/templates/static/images/spacer.gif | Bin 0 -> 43 bytes .../tutorial/templates/static/templatelicense.txt | 243 +++++++++++++ docs/tutorials/wiki/src/models/tutorial/tests.py | 64 ++++ docs/tutorials/wiki/src/models/tutorial/views.py | 2 + docs/tutorials/wiki/src/viewdecorators/CHANGES.txt | 4 + docs/tutorials/wiki/src/viewdecorators/README.txt | 4 + docs/tutorials/wiki/src/viewdecorators/setup.cfg | 28 ++ docs/tutorials/wiki/src/viewdecorators/setup.py | 42 +++ .../tutorials/wiki/src/viewdecorators/tutorial.ini | 21 ++ .../wiki/src/viewdecorators/tutorial/__init__.py | 2 + .../src/viewdecorators/tutorial/configure.zcml | 13 + .../wiki/src/viewdecorators/tutorial/models.py | 22 ++ .../wiki/src/viewdecorators/tutorial/run.py | 22 ++ .../src/viewdecorators/tutorial/templates/edit.pt | 30 ++ .../tutorial/templates/mytemplate.pt | 99 ++++++ .../tutorial/templates/static/default.css | 380 +++++++++++++++++++++ .../tutorial/templates/static/images/img01.gif | Bin 0 -> 3840 bytes .../tutorial/templates/static/images/img02.gif | Bin 0 -> 4689 bytes .../tutorial/templates/static/images/img03.gif | Bin 0 -> 229 bytes .../tutorial/templates/static/images/img04.gif | Bin 0 -> 92 bytes .../tutorial/templates/static/images/spacer.gif | Bin 0 -> 43 bytes .../tutorial/templates/static/style.css | 109 ++++++ .../tutorial/templates/static/templatelicense.txt | 243 +++++++++++++ .../src/viewdecorators/tutorial/templates/view.pt | 26 ++ .../wiki/src/viewdecorators/tutorial/tests.py | 123 +++++++ .../wiki/src/viewdecorators/tutorial/views.py | 62 ++++ docs/tutorials/wiki/src/views/CHANGES.txt | 3 + docs/tutorials/wiki/src/views/README.txt | 4 + docs/tutorials/wiki/src/views/setup.cfg | 28 ++ docs/tutorials/wiki/src/views/setup.py | 42 +++ docs/tutorials/wiki/src/views/tutorial.ini | 21 ++ docs/tutorials/wiki/src/views/tutorial/__init__.py | 2 + .../wiki/src/views/tutorial/configure.zcml | 36 ++ docs/tutorials/wiki/src/views/tutorial/models.py | 22 ++ docs/tutorials/wiki/src/views/tutorial/run.py | 22 ++ .../wiki/src/views/tutorial/templates/edit.pt | 32 ++ .../src/views/tutorial/templates/mytemplate.pt | 99 ++++++ .../views/tutorial/templates/static/default.css | 380 +++++++++++++++++++++ .../tutorial/templates/static/images/img01.gif | Bin 0 -> 3840 bytes .../tutorial/templates/static/images/img02.gif | Bin 0 -> 4689 bytes .../tutorial/templates/static/images/img03.gif | Bin 0 -> 229 bytes .../tutorial/templates/static/images/img04.gif | Bin 0 -> 92 bytes .../tutorial/templates/static/images/spacer.gif | Bin 0 -> 43 bytes .../src/views/tutorial/templates/static/style.css | 109 ++++++ .../tutorial/templates/static/templatelicense.txt | 243 +++++++++++++ .../wiki/src/views/tutorial/templates/view.pt | 29 ++ docs/tutorials/wiki/src/views/tutorial/tests.py | 127 +++++++ docs/tutorials/wiki/src/views/tutorial/views.py | 56 +++ 107 files changed, 5685 insertions(+) create mode 100644 docs/tutorials/wiki/src/authorization/CHANGES.txt create mode 100644 docs/tutorials/wiki/src/authorization/README.txt create mode 100644 docs/tutorials/wiki/src/authorization/setup.cfg create mode 100644 docs/tutorials/wiki/src/authorization/setup.py create mode 100644 docs/tutorials/wiki/src/authorization/tutorial.ini create mode 100644 docs/tutorials/wiki/src/authorization/tutorial/__init__.py create mode 100644 docs/tutorials/wiki/src/authorization/tutorial/configure.zcml create mode 100644 docs/tutorials/wiki/src/authorization/tutorial/login.py create mode 100644 docs/tutorials/wiki/src/authorization/tutorial/models.py create mode 100644 docs/tutorials/wiki/src/authorization/tutorial/run.py create mode 100644 docs/tutorials/wiki/src/authorization/tutorial/security.py create mode 100644 docs/tutorials/wiki/src/authorization/tutorial/templates/edit.pt create mode 100644 docs/tutorials/wiki/src/authorization/tutorial/templates/login.pt create mode 100644 docs/tutorials/wiki/src/authorization/tutorial/templates/mytemplate.pt create mode 100644 docs/tutorials/wiki/src/authorization/tutorial/templates/static/default.css create mode 100644 docs/tutorials/wiki/src/authorization/tutorial/templates/static/images/img01.gif create mode 100644 docs/tutorials/wiki/src/authorization/tutorial/templates/static/images/img02.gif create mode 100644 docs/tutorials/wiki/src/authorization/tutorial/templates/static/images/img03.gif create mode 100644 docs/tutorials/wiki/src/authorization/tutorial/templates/static/images/img04.gif create mode 100644 docs/tutorials/wiki/src/authorization/tutorial/templates/static/images/spacer.gif create mode 100644 docs/tutorials/wiki/src/authorization/tutorial/templates/static/style.css create mode 100644 docs/tutorials/wiki/src/authorization/tutorial/templates/static/templatelicense.txt create mode 100644 docs/tutorials/wiki/src/authorization/tutorial/templates/view.pt create mode 100644 docs/tutorials/wiki/src/authorization/tutorial/tests.py create mode 100644 docs/tutorials/wiki/src/authorization/tutorial/views.py create mode 100644 docs/tutorials/wiki/src/basiclayout/CHANGES.txt create mode 100644 docs/tutorials/wiki/src/basiclayout/README.txt create mode 100644 docs/tutorials/wiki/src/basiclayout/setup.cfg create mode 100644 docs/tutorials/wiki/src/basiclayout/setup.py create mode 100644 docs/tutorials/wiki/src/basiclayout/tutorial.ini create mode 100644 docs/tutorials/wiki/src/basiclayout/tutorial/__init__.py create mode 100644 docs/tutorials/wiki/src/basiclayout/tutorial/configure.zcml create mode 100644 docs/tutorials/wiki/src/basiclayout/tutorial/models.py create mode 100644 docs/tutorials/wiki/src/basiclayout/tutorial/run.py create mode 100644 docs/tutorials/wiki/src/basiclayout/tutorial/templates/mytemplate.pt create mode 100644 docs/tutorials/wiki/src/basiclayout/tutorial/templates/static/default.css create mode 100644 docs/tutorials/wiki/src/basiclayout/tutorial/templates/static/images/img01.gif create mode 100644 docs/tutorials/wiki/src/basiclayout/tutorial/templates/static/images/img02.gif create mode 100644 docs/tutorials/wiki/src/basiclayout/tutorial/templates/static/images/img03.gif create mode 100644 docs/tutorials/wiki/src/basiclayout/tutorial/templates/static/images/img04.gif create mode 100644 docs/tutorials/wiki/src/basiclayout/tutorial/templates/static/images/spacer.gif create mode 100644 docs/tutorials/wiki/src/basiclayout/tutorial/templates/static/templatelicense.txt create mode 100644 docs/tutorials/wiki/src/basiclayout/tutorial/tests.py create mode 100644 docs/tutorials/wiki/src/basiclayout/tutorial/views.py create mode 100644 docs/tutorials/wiki/src/models/CHANGES.txt create mode 100644 docs/tutorials/wiki/src/models/README.txt create mode 100644 docs/tutorials/wiki/src/models/setup.cfg create mode 100644 docs/tutorials/wiki/src/models/setup.py create mode 100644 docs/tutorials/wiki/src/models/tutorial.ini create mode 100644 docs/tutorials/wiki/src/models/tutorial/__init__.py create mode 100644 docs/tutorials/wiki/src/models/tutorial/configure.zcml create mode 100644 docs/tutorials/wiki/src/models/tutorial/models.py create mode 100644 docs/tutorials/wiki/src/models/tutorial/run.py create mode 100644 docs/tutorials/wiki/src/models/tutorial/templates/mytemplate.pt create mode 100644 docs/tutorials/wiki/src/models/tutorial/templates/static/default.css create mode 100644 docs/tutorials/wiki/src/models/tutorial/templates/static/images/img01.gif create mode 100644 docs/tutorials/wiki/src/models/tutorial/templates/static/images/img02.gif create mode 100644 docs/tutorials/wiki/src/models/tutorial/templates/static/images/img03.gif create mode 100644 docs/tutorials/wiki/src/models/tutorial/templates/static/images/img04.gif create mode 100644 docs/tutorials/wiki/src/models/tutorial/templates/static/images/spacer.gif create mode 100644 docs/tutorials/wiki/src/models/tutorial/templates/static/templatelicense.txt create mode 100644 docs/tutorials/wiki/src/models/tutorial/tests.py create mode 100644 docs/tutorials/wiki/src/models/tutorial/views.py create mode 100644 docs/tutorials/wiki/src/viewdecorators/CHANGES.txt create mode 100644 docs/tutorials/wiki/src/viewdecorators/README.txt create mode 100644 docs/tutorials/wiki/src/viewdecorators/setup.cfg create mode 100644 docs/tutorials/wiki/src/viewdecorators/setup.py create mode 100644 docs/tutorials/wiki/src/viewdecorators/tutorial.ini create mode 100644 docs/tutorials/wiki/src/viewdecorators/tutorial/__init__.py create mode 100644 docs/tutorials/wiki/src/viewdecorators/tutorial/configure.zcml create mode 100644 docs/tutorials/wiki/src/viewdecorators/tutorial/models.py create mode 100644 docs/tutorials/wiki/src/viewdecorators/tutorial/run.py create mode 100644 docs/tutorials/wiki/src/viewdecorators/tutorial/templates/edit.pt create mode 100644 docs/tutorials/wiki/src/viewdecorators/tutorial/templates/mytemplate.pt create mode 100644 docs/tutorials/wiki/src/viewdecorators/tutorial/templates/static/default.css create mode 100644 docs/tutorials/wiki/src/viewdecorators/tutorial/templates/static/images/img01.gif create mode 100644 docs/tutorials/wiki/src/viewdecorators/tutorial/templates/static/images/img02.gif create mode 100644 docs/tutorials/wiki/src/viewdecorators/tutorial/templates/static/images/img03.gif create mode 100644 docs/tutorials/wiki/src/viewdecorators/tutorial/templates/static/images/img04.gif create mode 100644 docs/tutorials/wiki/src/viewdecorators/tutorial/templates/static/images/spacer.gif create mode 100644 docs/tutorials/wiki/src/viewdecorators/tutorial/templates/static/style.css create mode 100644 docs/tutorials/wiki/src/viewdecorators/tutorial/templates/static/templatelicense.txt create mode 100644 docs/tutorials/wiki/src/viewdecorators/tutorial/templates/view.pt create mode 100644 docs/tutorials/wiki/src/viewdecorators/tutorial/tests.py create mode 100644 docs/tutorials/wiki/src/viewdecorators/tutorial/views.py create mode 100644 docs/tutorials/wiki/src/views/CHANGES.txt create mode 100644 docs/tutorials/wiki/src/views/README.txt create mode 100644 docs/tutorials/wiki/src/views/setup.cfg create mode 100644 docs/tutorials/wiki/src/views/setup.py create mode 100644 docs/tutorials/wiki/src/views/tutorial.ini create mode 100644 docs/tutorials/wiki/src/views/tutorial/__init__.py create mode 100644 docs/tutorials/wiki/src/views/tutorial/configure.zcml create mode 100644 docs/tutorials/wiki/src/views/tutorial/models.py create mode 100644 docs/tutorials/wiki/src/views/tutorial/run.py create mode 100644 docs/tutorials/wiki/src/views/tutorial/templates/edit.pt create mode 100644 docs/tutorials/wiki/src/views/tutorial/templates/mytemplate.pt create mode 100644 docs/tutorials/wiki/src/views/tutorial/templates/static/default.css create mode 100644 docs/tutorials/wiki/src/views/tutorial/templates/static/images/img01.gif create mode 100644 docs/tutorials/wiki/src/views/tutorial/templates/static/images/img02.gif create mode 100644 docs/tutorials/wiki/src/views/tutorial/templates/static/images/img03.gif create mode 100644 docs/tutorials/wiki/src/views/tutorial/templates/static/images/img04.gif create mode 100644 docs/tutorials/wiki/src/views/tutorial/templates/static/images/spacer.gif create mode 100644 docs/tutorials/wiki/src/views/tutorial/templates/static/style.css create mode 100644 docs/tutorials/wiki/src/views/tutorial/templates/static/templatelicense.txt create mode 100644 docs/tutorials/wiki/src/views/tutorial/templates/view.pt create mode 100644 docs/tutorials/wiki/src/views/tutorial/tests.py create mode 100644 docs/tutorials/wiki/src/views/tutorial/views.py (limited to 'docs/tutorials/wiki/src') diff --git a/docs/tutorials/wiki/src/authorization/CHANGES.txt b/docs/tutorials/wiki/src/authorization/CHANGES.txt new file mode 100644 index 000000000..e14f633ab --- /dev/null +++ b/docs/tutorials/wiki/src/authorization/CHANGES.txt @@ -0,0 +1,5 @@ +0.0 +--- + +- Initial version + diff --git a/docs/tutorials/wiki/src/authorization/README.txt b/docs/tutorials/wiki/src/authorization/README.txt new file mode 100644 index 000000000..d41f7f90f --- /dev/null +++ b/docs/tutorials/wiki/src/authorization/README.txt @@ -0,0 +1,4 @@ +tutorial README + + + diff --git a/docs/tutorials/wiki/src/authorization/setup.cfg b/docs/tutorials/wiki/src/authorization/setup.cfg new file mode 100644 index 000000000..3d7ea6e23 --- /dev/null +++ b/docs/tutorials/wiki/src/authorization/setup.cfg @@ -0,0 +1,28 @@ +[nosetests] +match=^test +nocapture=1 +cover-package=tutorial +with-coverage=1 +cover-erase=1 + +[compile_catalog] +directory = tutorial/locale +domain = tutorial +statistics = true + +[extract_messages] +add_comments = TRANSLATORS: +output_file = tutorial/locale/tutorial.pot +width = 80 + +[init_catalog] +domain = tutorial +input_file = tutorial/locale/tutorial.pot +output_dir = tutorial/locale + +[update_catalog] +domain = tutorial +input_file = tutorial/locale/tutorial.pot +output_dir = tutorial/locale +previous = true + diff --git a/docs/tutorials/wiki/src/authorization/setup.py b/docs/tutorials/wiki/src/authorization/setup.py new file mode 100644 index 000000000..bb2482cce --- /dev/null +++ b/docs/tutorials/wiki/src/authorization/setup.py @@ -0,0 +1,43 @@ +import os + +from setuptools import setup, find_packages + +here = os.path.abspath(os.path.dirname(__file__)) +README = open(os.path.join(here, 'README.txt')).read() +CHANGES = open(os.path.join(here, 'CHANGES.txt')).read() + +requires = [ + 'pyramid', + 'docutils', + 'ZODB3', + 'repoze.zodbconn', + 'repoze.tm', + ] + +setup(name='tutorial', + version='0.0', + description='tutorial', + long_description=README + '\n\n' + CHANGES, + classifiers=[ + "Intended Audience :: Developers", + "Framework :: Pylons", + "Programming Language :: Python", + "Topic :: Internet :: WWW/HTTP", + "Topic :: Internet :: WWW/HTTP :: WSGI :: Application", + ], + author='', + author_email='', + url='', + keywords='web wsgi pylons pyramid bfg', + packages=find_packages(), + include_package_data=True, + zip_safe=False, + install_requires=requires, + tests_require=requires, + test_suite="tutorial", + entry_points = """\ + [paste.app_factory] + app = tutorial.run:app + """ + ) + diff --git a/docs/tutorials/wiki/src/authorization/tutorial.ini b/docs/tutorials/wiki/src/authorization/tutorial.ini new file mode 100644 index 000000000..181682585 --- /dev/null +++ b/docs/tutorials/wiki/src/authorization/tutorial.ini @@ -0,0 +1,21 @@ +[DEFAULT] +debug = true + +[app:zodb] +use = egg:tutorial#app +reload_templates = true +debug_authorization = false +debug_notfound = false +zodb_uri = file://%(here)s/Data.fs?connection_cache_size=20000 + +[pipeline:main] +pipeline = + egg:repoze.zodbconn#closer + egg:Paste#evalerror + egg:repoze.tm#tm + zodb + +[server:main] +use = egg:Paste#http +host = 0.0.0.0 +port = 6543 diff --git a/docs/tutorials/wiki/src/authorization/tutorial/__init__.py b/docs/tutorials/wiki/src/authorization/tutorial/__init__.py new file mode 100644 index 000000000..cbdfd3ac6 --- /dev/null +++ b/docs/tutorials/wiki/src/authorization/tutorial/__init__.py @@ -0,0 +1,2 @@ +# A package + diff --git a/docs/tutorials/wiki/src/authorization/tutorial/configure.zcml b/docs/tutorials/wiki/src/authorization/tutorial/configure.zcml new file mode 100644 index 000000000..e8603d7c4 --- /dev/null +++ b/docs/tutorials/wiki/src/authorization/tutorial/configure.zcml @@ -0,0 +1,25 @@ + + + + + + + + + + + + + + + + diff --git a/docs/tutorials/wiki/src/authorization/tutorial/login.py b/docs/tutorials/wiki/src/authorization/tutorial/login.py new file mode 100644 index 000000000..c029f25ce --- /dev/null +++ b/docs/tutorials/wiki/src/authorization/tutorial/login.py @@ -0,0 +1,44 @@ +from webob.exc import HTTPFound + +from pyramid.view import bfg_view +from pyramid.url import model_url + +from pyramid.security import remember +from pyramid.security import forget + +from tutorial.models import Wiki +from tutorial.security import USERS + +@bfg_view(context=Wiki, name='login', renderer='templates/login.pt') +def login(request): + login_url = model_url(request.context, request, 'login') + referrer = request.url + if referrer == login_url: + referrer = '/' # never use the login form itself as came_from + came_from = request.params.get('came_from', referrer) + message = '' + login = '' + password = '' + if 'form.submitted' in request.params: + login = request.params['login'] + password = request.params['password'] + if USERS.get(login) == password: + headers = remember(request, login) + return HTTPFound(location = came_from, + headers = headers) + message = 'Failed login' + + return dict( + message = message, + url = request.application_url + '/login', + came_from = came_from, + login = login, + password = password, + ) + +@bfg_view(context=Wiki, name='logout') +def logout(request): + headers = forget(request) + return HTTPFound(location = model_url(request.context, request), + headers = headers) + diff --git a/docs/tutorials/wiki/src/authorization/tutorial/models.py b/docs/tutorials/wiki/src/authorization/tutorial/models.py new file mode 100644 index 000000000..0a31c38be --- /dev/null +++ b/docs/tutorials/wiki/src/authorization/tutorial/models.py @@ -0,0 +1,27 @@ +from persistent import Persistent +from persistent.mapping import PersistentMapping + +from pyramid.security import Allow +from pyramid.security import Everyone + +class Wiki(PersistentMapping): + __name__ = None + __parent__ = None + __acl__ = [ (Allow, Everyone, 'view'), + (Allow, 'group:editors', 'edit') ] + +class Page(Persistent): + def __init__(self, data): + self.data = data + +def appmaker(zodb_root): + if not 'app_root' in zodb_root: + app_root = Wiki() + frontpage = Page('This is the front page') + app_root['FrontPage'] = frontpage + frontpage.__name__ = 'FrontPage' + frontpage.__parent__ = app_root + zodb_root['app_root'] = app_root + import transaction + transaction.commit() + return zodb_root['app_root'] diff --git a/docs/tutorials/wiki/src/authorization/tutorial/run.py b/docs/tutorials/wiki/src/authorization/tutorial/run.py new file mode 100644 index 000000000..875e77590 --- /dev/null +++ b/docs/tutorials/wiki/src/authorization/tutorial/run.py @@ -0,0 +1,23 @@ +from pyramid.configuration import Configurator +from repoze.zodbconn.finder import PersistentApplicationFinder + +from tutorial.models import appmaker + +def app(global_config, **settings): + """ This function returns a WSGI application. + + It is usually called by the PasteDeploy framework during + ``paster serve``. + """ + zodb_uri = settings.get('zodb_uri') + if zodb_uri is None: + raise ValueError("No 'zodb_uri' in application configuration.") + finder = PersistentApplicationFinder(zodb_uri, appmaker) + def get_root(request): + return finder(request.environ) + config = Configurator(root_factory=get_root, settings=settings) + config.begin() + config.load_zcml('configure.zcml') + config.end() + return config.make_wsgi_app() + diff --git a/docs/tutorials/wiki/src/authorization/tutorial/security.py b/docs/tutorials/wiki/src/authorization/tutorial/security.py new file mode 100644 index 000000000..cfd13071e --- /dev/null +++ b/docs/tutorials/wiki/src/authorization/tutorial/security.py @@ -0,0 +1,8 @@ +USERS = {'editor':'editor', + 'viewer':'viewer'} +GROUPS = {'editor':['group:editors']} + +def groupfinder(userid, request): + if userid in USERS: + return GROUPS.get(userid, []) + diff --git a/docs/tutorials/wiki/src/authorization/tutorial/templates/edit.pt b/docs/tutorials/wiki/src/authorization/tutorial/templates/edit.pt new file mode 100644 index 000000000..5f8b22207 --- /dev/null +++ b/docs/tutorials/wiki/src/authorization/tutorial/templates/edit.pt @@ -0,0 +1,34 @@ + + + + + + Pyramid tutorial wiki (based on TurboGears 20-Minute Wiki) + Editing: ${page.__name__} + + + + + +
+
Viewing + Page Name Goes Here
+ You can return to the FrontPage. + Logout +
+ +
+
+