plugin XEP-0060: fixed traceback if service was None

This commit is contained in:
Goffi 2016-03-10 17:50:17 +01:00
commit 27cd8412d5
2 changed files with 6 additions and 4 deletions

View file

@ -320,7 +320,7 @@ class Edit(base.CommandBase, BlogCommon):
try:
mb_data = self.host.bridge.mbGet('', '', 1, [], {}, self.profile)[0][0]
except Exception as e:
self.disp(u"Error while retrieving last comment: {}".format(e))
self.disp(u"Error while retrieving last item: {}".format(e))
self.host.quit(1)
content = mb_data['content_xhtml']

View file

@ -329,9 +329,10 @@ class XEP_0060(object):
def addMetadata(result):
items, rsm_response = result
metadata = {'service': service or client.jid.host,
service_jid = service if service else jid.JID(client.jid.host)
metadata = {'service': service_jid,
'node': node,
'uri': self.getNodeURI(service, node),
'uri': self.getNodeURI(service_jid, node),
}
if rsm_request is not None and rsm_response is not None:
metadata.update({'rsm_{}'.format(key): value for key, value in rsm_response.toDict().iteritems()})
@ -409,10 +410,11 @@ class XEP_0060(object):
def getNodeURI(self, service, node, item=None):
"""Return XMPP URI of a PubSub node
@param service(jid.JID, None): PubSub service,
@param service(jid.JID): PubSub service,
@param node(unicode): node
@return (unicode): URI of the node
"""
assert service is not None
# XXX: urllib.urlencode use "&" to separate value, while XMPP URL (cf. RFC 5122)
# use ";" as a separator. So if more than one value is used in query_data,
# urlencode MUST NOT BE USED.