Пример #1
0
def test_json_perms():
    bag = Bag('permstest')
    store.put(bag)
    serializer = Serializer('json', environ={'tiddlyweb.usersign': {
        'name':'bang', 'roles': []}})
    tiddler = Tiddler('permstest', 'permstest')
    tiddler.text = 'permstest'
    store.put(tiddler)
    tiddler.store = store
    serializer.object = tiddler
    string = serializer.to_string()

    info = simplejson.loads(string)

    assert info['title'] == 'permstest'
    assert info['text'] == 'permstest'
    assert info['permissions'] == ['read', 'write', 'create', 'delete']
Пример #2
0
def test_json_perms():
    store = get_store(config)
    bag = Bag("permstest")
    store.put(bag)
    serializer = Serializer(
        "json", environ={"tiddlyweb.usersign": {"name": "bang", "roles": []}, "tiddlyweb.config": config}
    )
    tiddler = Tiddler("permstest", "permstest")
    tiddler.text = "permstest"
    store.put(tiddler)
    tiddler.store = store
    serializer.object = tiddler
    string = serializer.to_string()

    info = simplejson.loads(string)

    assert info["title"] == "permstest"
    assert info["text"] == "permstest"
    assert info["permissions"] == ["read", "write", "create", "delete"]
Пример #3
0
                            tiddler = Tiddler(title)
                            tiddler.recipe = container
                            bag = determine_bag_from_recipe(recipe, tiddler,
                                    environ)
                            tiddler.bag = bag.name
                        except StoreError, exc:
                            tiddler = Tiddler(title, bag_name)
                            tiddler.recipe = container
                    else:
                        tiddler = Tiddler(title, container)
                else:
                    tiddler = Tiddler(title, bag_name)
                try:
                    tiddler = store.get(tiddler)
                except StoreError:
                    tiddler.store = store
        if _is_readable(environ, tiddler):
            tiddlers.add(tiddler)

    return send_tiddlers(environ, start_response, tiddlers=tiddlers)


def _is_readable(environ, tiddler):
    """
    Return true if recipe.policy read allows, and
    bag.policy read allows, or if neither bag or recipe
    is set.
    """
    store = environ['tiddlyweb.store']
    usersign = environ['tiddlyweb.usersign']
    if tiddler.recipe:
Пример #4
0
 def _bags_tiddler(stiddler):
     tiddler = Tiddler(stiddler.title)
     tiddler = self._load_tiddler(tiddler, stiddler)
     tiddler.store = store
     return tiddler
Пример #5
0
 def _bags_tiddler(stiddler):
     tiddler = Tiddler(stiddler.title)
     tiddler = self._load_tiddler(tiddler, stiddler)
     tiddler.store = store
     return tiddler