Fix sending empty pep data

This commit is contained in:
Philipp Hörist 2018-09-16 12:58:37 +02:00 committed by Philipp Hörist
parent bdc93e17ae
commit f00d8087ad
5 changed files with 8 additions and 10 deletions

View File

@ -106,7 +106,7 @@ class PEP:
retract = items.getTag('retract')
if retract is not None:
for handler in handlers:
handler[PEPHandlerType.RETRACT](jid, retract.getID())
handler[PEPHandlerType.RETRACT](jid, retract.getAttr('id'))
raise nbxmpp.NodeProcessed
# Check if we have items

View File

@ -89,7 +89,7 @@ class UserActivity(AbstractPEPModule):
def _build_node(self, data):
item = nbxmpp.Node('activity', {'xmlns': self.namespace})
if data is None:
return
return item
activity, subactivity, message = data
if activity:
i = item.addChild(activity)

View File

@ -88,7 +88,7 @@ class UserMood(AbstractPEPModule):
def _build_node(self, data: Optional[Tuple[str, str]]) -> nbxmpp.Node:
item = nbxmpp.Node('mood', {'xmlns': nbxmpp.NS_MOOD})
if data is None:
return
return item
mood, text = data
if mood:
item.addChild(mood)

View File

@ -67,8 +67,7 @@ class UserNickname(AbstractPEPModule):
def _build_node(self, data: Optional[str]) -> Optional[nbxmpp.Node]:
item = nbxmpp.Node('nick', {'xmlns': nbxmpp.NS_NICK})
if data is None:
return None
if data is not None:
item.addData(data)
return item

View File

@ -331,11 +331,10 @@ class ProfileWindow(Gtk.ApplicationWindow):
transient_for=self)
return
vcard_, sha = self.make_vcard()
nick = ''
if 'NICKNAME' in vcard_:
nick = vcard_['NICKNAME']
nick = vcard_.get('NICKNAME')
if nick:
app.connections[self.account].get_module('UserNickname').send(nick)
if nick == '':
else:
app.connections[self.account].get_module('UserNickname').retract()
nick = app.config.get_per('accounts', self.account, 'name')
app.nicks[self.account] = nick