Mercurial > libervia-backend
changeset 2393:8ed4ac10cb5e
plugin tickets import: create comments nodes with open access/publishing
author | Goffi <goffi@goffi.org> |
---|---|
date | Fri, 27 Oct 2017 08:35:22 +0200 |
parents | b29a53fb270d |
children | 7bfcc431f66d |
files | src/plugins/plugin_tickets_import.py src/plugins/plugin_xep_0060.py |
diffstat | 2 files changed, 10 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/src/plugins/plugin_tickets_import.py Fri Oct 27 08:33:48 2017 +0200 +++ b/src/plugins/plugin_tickets_import.py Fri Oct 27 08:35:22 2017 +0200 @@ -97,9 +97,17 @@ def importSubItems(self, client, item_import_data, ticket_data, session, options): # TODO: force "open" permission (except if private, check below) # TODO: handle "private" metadata, to have non public access for node + # TODO: node access/publish model should be customisable comments = ticket_data.get('comments', []) service, node = self._m.getCommentsService(client), self._m.getCommentsNode(session['root_node'] + u'_' + ticket_data['id']) - yield self._p.createIfNewNode(client, service, node) + node_options = {self._p.OPT_ACCESS_MODEL: self._p.ACCESS_OPEN, + self._p.OPT_PERSIST_ITEMS: 1, + self._p.OPT_MAX_ITEMS: -1, + self._p.OPT_DELIVER_PAYLOADS: 1, + self._p.OPT_SEND_ITEM_SUBSCRIBE: 1, + self._p.OPT_PUBLISH_MODEL: self._p.ACCESS_OPEN, + } + yield self._p.createIfNewNode(client, service, node, options=node_options) ticket_data['comments_uri'] = uri.buildXMPPUri(u'pubsub', subtype='microblog', path=service.full(), node=node) for comment in comments: if 'updated' not in comment and 'published' in comment:
--- a/src/plugins/plugin_xep_0060.py Fri Oct 27 08:33:48 2017 +0200 +++ b/src/plugins/plugin_xep_0060.py Fri Oct 27 08:35:22 2017 +0200 @@ -445,6 +445,7 @@ @param option(dict[unicode, unicode], None): node configuration options @return (unicode): identifier of the created node (may be different from requested name) """ + # TODO: if pubsub service doesn't hande publish-options, configure it in a second time return client.pubsub_client.createNode(service, nodeIdentifier, options) @defer.inlineCallbacks