diff options
| author | Guillaume Horel <guillaume.horel@gmail.com> | 2011-01-21 01:06:44 -0500 |
|---|---|---|
| committer | Guillaume Horel <guillaume.horel@gmail.com> | 2011-01-21 01:06:44 -0500 |
| commit | b9bc4eaa3d73977d269161662d8a11a210ef79df (patch) | |
| tree | deb5dbeb7596a6fb0f5cbdd87db0a0f8b947e11c /server/plugin.py | |
| parent | 811e03d7765001aa2da20ab37d41e1c92b4ae53b (diff) | |
| download | alias-b9bc4eaa3d73977d269161662d8a11a210ef79df.tar.gz | |
Added key management to the component server
Diffstat (limited to 'server/plugin.py')
| -rw-r--r-- | server/plugin.py | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/server/plugin.py b/server/plugin.py index 1f456ef..80e9863 100644 --- a/server/plugin.py +++ b/server/plugin.py @@ -16,12 +16,13 @@ class AliasQuery(ElementBase): namespace = 'alias:query' name = 'query' plugin_attrib = 'alias' - interfaces = set(('node', 'type', 'content', 'permission')) + interfaces = set(('node', 'type', 'content', 'permission', 'key')) sub_interfaces = set(('content', 'permission')) - def addItem(self, node, permission = None): + def addItem(self, node, key, permission = None): item = AliasItem(None, self) item['node'] = node + item['key']= key if permission is not None: item['permission'] = str(permission) @@ -29,7 +30,7 @@ class AliasItem(ElementBase): namespace = 'alias:query' name = 'item' plugin_attrib = 'item' - interfaces = set(('node', 'permission')) + interfaces = set(('node', 'permission', 'key' )) class AliasPlugin(base.base_plugin): @@ -62,9 +63,8 @@ class AliasPlugin(base.base_plugin): node = iq['alias']['node'] if not node: node = hashlib.sha1(callee).hexdigest() - node = Object(callee, node) - + if iq['alias']['type'] == 'items': try: childs = node.get_child_list(caller) @@ -74,13 +74,14 @@ class AliasPlugin(base.base_plugin): iq.reply() iq['alias']['type'] = 'items' iq['alias']['node'] = node.hash - for name, perm in childs: - iq['alias'].addItem(name, perm) + for name, perm, key in childs: + iq['alias'].addItem(name, key, perm) iq.send() if iq['alias']['type'] == 'content': try: content = node.get_content(caller) + key = node.get_key(caller) except PermissionError: self.send_permission_error(iq, 'Permission') else: @@ -88,4 +89,5 @@ class AliasPlugin(base.base_plugin): iq['alias']['type'] = 'content' iq['alias']['node'] = node.hash iq['alias']['content'] = content + iq['alias']['key'] = key iq.send()
\ No newline at end of file |
