plugin XEP-0060: fixed traceback if service was None
This commit is contained in:
parent
c4ac825c8f
commit
27cd8412d5
2 changed files with 6 additions and 4 deletions
|
|
@ -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']
|
||||
|
|
|
|||
|
|
@ -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.
|
||||
|
|
|
|||
Loading…
Reference in a new issue