From b9bc4eaa3d73977d269161662d8a11a210ef79df Mon Sep 17 00:00:00 2001 From: Guillaume Horel Date: Fri, 21 Jan 2011 01:06:44 -0500 Subject: Added key management to the component server --- server/plugin.py | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) (limited to 'server/plugin.py') 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 -- cgit v1.2.3-70-g09d2