Steve Piercy
2017-07-27 1ed4cc20651537b903609b42f5b35e1a98441a16
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
from persistent import Persistent
from persistent.mapping import PersistentMapping
 
from pyramid.security import (
    Allow,
    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 'app_root' not 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
    return zodb_root['app_root']